httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Menegakis <arx...@gmail.com>
Subject Re: [users@httpd] Avoid endless loop of mod_rewrite
Date Tue, 09 Mar 2010 10:41:18 GMT
On Tue, Mar 9, 2010 at 11:01 AM, Philip Wigg <phil@philipwigg.co.uk> wrote:
> On 9 March 2010 07:57, Michael Menegakis <arxeio@gmail.com> wrote:
>> On Mon, Mar 8, 2010 at 11:12 AM, Philip Wigg <phil@philipwigg.co.uk> wrote:
>>> On 8 March 2010 05:17, Michael Menegakis <arxeio@gmail.com> wrote:
>>>> Hi all
>>>>
>>>> A rule is in place that that rewrites domains to www.domains
>>>>
>>>> In one particular home dir, I need the opposite,
>>>>
>>>> RewriteEngine On
>>>> RewriteCond %{HTTP_HOST} ^www.domain.com$ [NC]
>>>> RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]
>>>>
>>>> But it goes into an endless loop that eventually makes firefox spit
>>>>
>>>> 'The page isn't redirecting properly
>>>> Firefox has detected that the server is redirecting the request for
>>>> this address in a way that will never complete.'
>>>>
>>>> How to ignore the higher level rule?
>>>
>>> Can you not add an extra RewriteCond to each rule to check if you are
>>> or aren't in the 'one particular home dir' or not? For example:-
>>>
>>> RewriteCond %{HTTP_HOST} ^www.domain.com$ [NC]
>>> RewriteCond %{REQUEST_URI} ^/homedir/.*                     <--
This
>>> rule only applies if we're in /homedir/
>>> RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]
>>>
>>> RewriteCond %{HTTP_HOST} ^domain.com$ [NC]
>>> RewriteCond %{REQUEST_URI} !^/homedir/.*                     <--
This
>>> rule only applies if we're not in /homedir/, note the exclamation
>>> mark.
>>> RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
>>
>> I do not have access to the httpd. However, the corporation I'm
>> dealing with doesn't seem to mind with rewriting urls per se, it's
>> just that it happens this particular hickup is a sideeffect of their
>> rules and they have no policy of changing httpd conf just for one of
>> their thousand domains just for one particular account (unless they
>> buy a server).
>>
>> So, I was wondering if there's a way .htaccess-side only to just not
>> go into an infinite loop.
>
> What was wrong with my suggestion of adding an extra RewriteCond?

It goes into an infinite loop again. I believe the root is forcing a
rule by 'inherit'.

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message