Boyle Owen wrote on 31.05.2005:
>>RewriteCond %{HTTP_HOST} (first|second|third|fourth) RewriteRule
>>^(.+)$ %1/$1 [L,R,NC]
>
>You do understand what ^(.+)$ converts to? It means: "from the
>start, 1 or more of any character (greedy), to the end"
>
>That is, it will match the entire URI, no matter what it is.
>
I do understand it. What I did miss, though, was the fact that the R flag
caused a transparent redirect so the rewritten URL would enter the cycle again.
>Rather than asking for a theoretical explanation of why your pattern
>doesn't work, why not describe what you're trying to achieve and
>explain why you think you need this pattern. Eg,
>
>- what is the input URL? - what do you want the output to look like?
The problem is that I get requests for these URLs:
http://firsthost/somestring
http://secondhost/somestring
http://thirdhost/somestring
All of the hostnames are just aliases pointing to the same DocumentRoot.
So I wanted a simple rule that adds the first part of the hostname to the URL:
http://firsthost/first/somestring
http://secondhost/second/somestring
http://thirdhost/third/somestring
so the extended URLs can be matched by the following rules:
RewriteRule ^first/somestring/?$ cgi-bin/show.pl?id=1234 [L,NC]
RewriteRule ^second/somestring/?$ cgi-bin/show.pl?id=4321 [L,NC]
RewriteRule ^third/somestring/?$ cgi-bin/show.pl?id=4883 [L,NC]
I came up with
RewriteCond %{HTTP_HOST} (first|second|third)
RewriteRule ^(.+)$ %1/$1 [NC]
which works, now that I removed the R flag.
Thanks,
Jan
--
Lead me not into temptation. I can find it myself. - Jeffrey Kaplan
---------------------------------------------------------------------
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: [EMAIL PROTECTED]
" from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]