1

如果是这样,我想重写 url:subdomain.xxx.com/zzz/NOT_subdomain/fff

所以我有类似的东西:

RewriteCond %{HTTP_HOST}%{REQUEST_URI} ^([a-z0-9-]+).xxx.com/([a-z0-9-]+)/([a-z0-9-]+)/([a-z0-9-]+)
RewriteCond %1 =!%3 
RewriteRule (.*) http://www.xxx.com/404.html

但是当 subdomain 和 NOT_subdomain 相等时它会重写,我没有尝试过!但没有用......有什么帮助吗?谢谢

4

1 回答 1

0

尝试将您的条件更改为:

RewriteCond %1//%3 !^(.*)//\1$

您不能在条件的右侧有%反向引用,因此您可以将两者都放在左侧并使用 a\1来引用分组。因此将 中的内容(.*)分组%1,然后\1尝试将其中的内容%3与分组相匹配。如果失败,则两者不相等且条件为真。

所以你有了:

RewriteCond %{HTTP_HOST}%{REQUEST_URI} ^([a-z0-9-]+).xxx.com/([a-z0-9-]+)/([a-z0-9-]+)/([a-z0-9-]+)
RewriteCond %1//%3 !^(.*)//\1$
RewriteRule (.*) http://www.xxx.com/404.html
于 2013-10-21T16:00:15.463 回答