我在Apache上使用URL重写时遇到了一个小问题。
我希望它忽略“admin/”文件夹的重写。
Options +FollowSymLinks
RewriteRule ^([^/]*)/([^/]*)\.html$ /index.php?cat=$1&name=$2 [L]
RewriteRule ^([^/]*)/$ /index.php?cat=$1 [L]
我尝试自己做,但是无法弄清楚。
谢谢。
我在Apache上使用URL重写时遇到了一个小问题。
我希望它忽略“admin/”文件夹的重写。
Options +FollowSymLinks
RewriteRule ^([^/]*)/([^/]*)\.html$ /index.php?cat=$1&name=$2 [L]
RewriteRule ^([^/]*)/$ /index.php?cat=$1 [L]
我尝试自己做,但是无法弄清楚。
谢谢。
您可以使用RewriteCond在RewriteRule
上设置条件。除非所有条件都匹配,否则不会应用RewriteRule
。在您的情况下,我假设您的管理员文件夹位于http://yoursite.com/admin
,因此像这样的规则应该可以工作:
RewriteCond %{REQUEST_URI} !^/admin/*
RewriteRule
之前。 RewriteCond
和 RewriteRule
指令的顺序很重要,所以请确保您放置的位置正确。我认为这可能更适合在ServerFault上讨论,但是有一个非常快速的答案:如果您放置
RewriteRule ^admin/ - [L]
admin/
开头的 URL。