Rewrite redirects

Patrick gibblertron at gmail.com
Fri Sep 28 22:24:34 UTC 2012


You can probably do something like:

RewriteRule ^([^/])\.html /content/$1.html [PT]

^ inside the square brackets means "not", so a pattern matching anything but /.

Or you could be go the other way:

RewriteRule ^([a-zA-Z0-9_-]+)\.html /content/$1.html [PT]

Where you explicitly include the characters that are used in your html
filenames...

Patrick


On Fri, Sep 28, 2012 at 2:27 PM, Jack Stone <jacks at sage-american.com> wrote:
> On 9/28/2012 3:08 PM, Jack Stone wrote:
>>
>> I thought I had this figured out but discovered I have a BIG flaw with my
>> .htaccess redirects After days of searching and experimenting, I still can't
>> get this to do what I intended.
>>
>> I have moved all of the content on a web site from the web root to a
>> different directory. Now I need toredirect the URL requests from the old
>> location to the new one. Instead of issuing a 301 error, I want to first
>> redirect to an info page, let's call it "info.htm." Here's what I have now
>> in the web root's .htaccess.
>>
>> Here's the way it was/is:
>>
>> ~webroot/lots_of.html
>> ....and now changed to this:
>> ~webroot/content/lots_of.html
>>
>> Using the apache mod_rewritein .htaccess
>> RewriteEngine on
>> RewriteRule /~webroot/(.*\.html) /^info.htm [PT]
>>
>> ....which is supposed to redirect any page with the extension ".html" to
>> the info.htm page. BUT, alas any "*.html page in any directory will redirect
>> back to the info.htm page!! What I wanted is that only the "*.html pages in
>> the ~webroot to be redirected to the info page.
>>
>> I hope this make sense and I hope someone can give me a tip on how to
>> limit the redirects to only the webroot pages.
>>
>> Thanks in advance.....
>>
> For the above, now this works if I use the following:
> RewriteBase /~webroot/
> RewriteRule ^radio\.html$ /^info.htm [PT]
> RewriteRule ^v20\.html$ /^info.htm [PT]
>
> So, now if the above are requested:
>
> http://www.webroot/content/radio.html it doesn't redirect to the info page.
> That's what I want, but there are 100s of "html" files in webroot/content
> and I figured there MUST be a way to wildcard the syntax, something like
> ^.*\.html$ so I don't need to list every specific html file.
>
> I believe I'll have it if I can figure that out now.
>
> Any thoughts?
>
>
> --
> --
> All the best,
> Jack
>
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"


More information about the freebsd-questions mailing list