Apache mod_rewrite报‘unknown flag 'AND'’错,Apache2.2.34规则失效求替代方案
Apache 2.2.34 Rewrite规则报错解决方法
Apache 2.2.x版本的mod_rewrite不支持AND标志,多个RewriteCond之间默认就是逻辑与(AND)的关系,所以你不需要显式声明这个标志,直接去掉即可。
修正后的规则如下:
RewriteCond %{HTTP_HOST} !^subdomain\.domain\.com$ [NC] RewriteCond %{QUERY_STRING} ^(.*)$ [NC] RewriteRule ^/page\.php$ - [R=404,L]
另外补充:%{QUERY_STRING} ^(.*)$这个条件实际上没有过滤作用,因为任何请求的查询字符串要么为空要么有内容,该条件永远成立。如果你的需求仅为「当访问域名不是subdomain.domain.com时,访问/page.php返回404」,可以简化规则:
RewriteCond %{HTTP_HOST} !^subdomain\.domain\.com$ [NC] RewriteRule ^/page\.php$ - [R=404,L]
内容的提问来源于stack exchange,提问作者netrangermike
相关产品推荐
相关产品推荐

