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>