我有以下重写网址:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite all other URLs
RewriteRule ^(.*)$ index.php?page=$1 [PT,L]
现在我想添加一个例外,如果URL类似于mysite.com/abc,它应该忽略它以及它内部的所有内容。 mysite.com/abc/dfgs也应该被排除在此重写之外。
我该如何做到这一点?
答案 0 :(得分:2)
如果/ abc是现有目录,您可以使用
将另一个.htaccess文件放入其中RewriteEngine Off
如果它只是一个你想要不重写的字符串(是否存在)
RewriteCond %{REQUEST_URI} !^/abc
如果请求的路径以“/ abc”开头,将不会重写
测试重写规则而不会弄乱常规浏览器的网站(当然不是你应该在现场环境中进行编辑,这纯粹是假设:-)),我发现以下内容非常有用:
RewriteCond %{REMOTE_ADDR} 12.34.56.78 # <-- where that's your IP address
答案 1 :(得分:0)
如果URI包含abc,这应该避免重写。这可能或可能不是您想要的。如果没有编辑您的问题。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#Rewrite ONLY if the REQUEST does NOT contain abc
RewriteCond %{REQUEST_URI} !abc
# Rewrite all other URLs
RewriteRule ^(.*)$ index.php?page=$1 [PT,L]