题
我有以下重写网址:
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还应该排除在该重写。
我怎样才能做到这一点?
解决方案
如果/ ABC是现有目录,你可以把有另一种.htaccess文件以
RewriteEngine Off
如果它真的要不能重写(它是否存在与否)只是一个字符串
RewriteCond %{REQUEST_URI} !^/abc
如果所请求的路径用“/ ABC”
开始将不能重写要测试重写规则不搞乱网站定期浏览器(不,你应该在课程的现场环境进行编辑,这纯粹是假设的:-)),我发现以下非常有帮助的:
RewriteCond %{REMOTE_ADDR} 12.34.56.78 # <-- where that's your IP address
其他提示
此应该避免重写如果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]
不隶属于 StackOverflow