On 4/25/06, John Nichel <john@xxxxxxxxxxxx> wrote: > Joshua Slive wrote: > > On 4/25/06, John Nichel <john@xxxxxxxxxxxx> wrote: > >> Hi, I usually have no problem redirecting based on what is in the URL, > >> but now I'm trying to redirect all pages in a site to one page on the > >> same site. I have to exclude that one page from the redirection process > >> else I get an infinite loop. I've tried numerous combinations of the > >> following, but I can't see to get it to work.... > >> > >> RewriteCond %{SCRIPT_FILENAME} !^redirect\.html [NC] > >> RewriteRule ^/$ /redirect.html > >> > >> > >> Basically, if the URL doesn't contain 'redirect.html', redirect to > >> redirect.html > > > > (I suspect your example is off, since the RewriteRule above will not > > create a loop; it only addresses one URL.) > > > > Use the RewriteLog to figure out what is going wrong. > > > > Either of these should work: > > RewriteCond %{Request_URI} !^/redirect\.html [NC] > > ... > > or > > RewriteRule ^/redirect\.html - [L] > > > > Joshua. > > > > Hi Joshua, thanks for the response. Unfortunately it doesn't seem to > be working for me. Right now I have this : > > RewriteEngine On > RewriteBase / > RewriteCond %{Request_URI} !^/redirect\.html [NC] > RewriteRule ^/$ /redirect.html > > And none of the pages I go to on the site get redirected. I set up the > rewrite log, and nothing is being entered into there (tailing it). To > ensure that Apache was executing my .htaccess file, I put some bogus > code in it and it thru an error, so that part's working. I often have a need to exclude something from rewriting, and I ususaly do it by having a rule that would match it, but that does not change it, and giving it the L flag. Your problem I would solve like this: RewriteRule ^/redirect∖.html$ /redirect.html [L] RewriteRule ^/.*$ /redirect.html (Nortice also how your rule RewriteRule ^/$ /redirect.html would only match /, not every page) Krist -- krist.vanbesien@xxxxxxxxx Solothurn, Switzerland