我想重写网址,如果它是: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
但是当子域和NOT_subdomain相等时它会重写,我没试过它!但是没有用......有什么帮助吗? 谢谢
答案 0 :(得分:0)
尝试将您的条件更改为:
RewriteCond %1//%3 !^(.*)//\1$
您不能在条件的右侧有%反向引用,因此您可以将两者放在左侧并使用\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