httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robert Ionescu <>
Subject Re: [users@httpd] rewrite rule
Date Tue, 06 Jun 2006 17:17:00 GMT
Axel-St├ęphane SMORGRAV wrote:
>  Could you give some explanations wrt. your RewriteCond ? I have never seen this kind
of expressions before.

Yes. \1 is a regEx internal back reference containing everything matched
in the first group (/test/.+)

So assuming a request of /test/index.html (=value of $1) from (referer), the TestString
(left) is<>/test/index.html

The regEx '(/test/.+)<' would match '/test/index.html<' and capture the 
part '/test/index.html' in a back reference. Now the pattern matches the 
 > from the TestString followed by the value of the first back reference 
from within that regEx, which is '/test/index.html'.

So<>/test/index.html (testString) 
would match against the pattern /test/index.html<>/test/index.html, the 
RegEx-Engine returns true. The result is now negated in mod_rewrite by 
the exclamation mark resulting in false which would abort this RewriteRule.

>> RewriteEngine On
>> RewriteCond %{HTTP_REFERRER}<>$1 !(/test/.+)<>\1$
>> RewriteRule ^(/test/[^/]*\.(html?|php))$ /test-redir.php?page=$1 [L,NS]


The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:> for more info.
To unsubscribe, e-mail:
   "   from the digest:
For additional commands, e-mail:

View raw message