重用 htaccess 条件中的组



我需要将网站的域放入我的RewriteUrl中,但我无法使其正常工作:

RewriteCond %{HTTP_HOST} !^www.example.(test|com)$ [NC]
RewriteCond %{HTTP_HOST} !(thisdomain|thatdomain) [NC]
RewriteRule ^(.*) http://www.example.%2/$1 [R=301,L]

AFAIK,%2应该包含域,但这重定向到www.example./,没有扩展。
我也在没有第二个条件的情况下尝试过这个,但无济于事。谁能看到错误?

我每次更改都会启动一个新会话,.htaccess 没有缓存,对此进行了测试。

为了能够捕获价值,您需要确保首先执行该条件。试试这个规则:

RewriteCond %{HTTP_HOST} !^(www|this|that) [NC]
RewriteCond %{HTTP_HOST} .(test|com)$ [NC]
RewriteRule ^ http://www.example.%1%{REQUEST_URI} [R=302,NE,L]

当你使用!时,你不能捕获一个组,因此你的%2没有价值。您可以将其作为单独的条件来使用它。

最新更新