我有以下重写网址:

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]
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top