Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Sep 2012 15:24:33 -0700
From:      Patrick <gibblertron@gmail.com>
To:        Jack Stone <jacks@sage-american.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Rewrite redirects
Message-ID:  <CA%2BdWbmb_G2g7Ya6Ypr1bY1q5TWgfe%2Bxh1rPCLgaDk0NNFerT7A@mail.gmail.com>
In-Reply-To: <5066162E.5000108@sage-american.com>
References:  <506603BC.8000202@sage-american.com> <5066162E.5000108@sage-american.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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@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@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BdWbmb_G2g7Ya6Ypr1bY1q5TWgfe%2Bxh1rPCLgaDk0NNFerT7A>