htaccess mod rewrite是什么?

3

我在Apache上使用URL重写时遇到了一个小问题。

我希望它忽略“admin/”文件夹的重写。

 Options +FollowSymLinks
 RewriteRule ^([^/]*)/([^/]*)\.html$ /index.php?cat=$1&name=$2 [L]
 RewriteRule ^([^/]*)/$ /index.php?cat=$1 [L]

我尝试自己做,但是无法弄清楚。

谢谢。

2个回答

1

您可以使用RewriteCondRewriteRule上设置条件。除非所有条件都匹配,否则不会应用RewriteRule。在您的情况下,我假设您的管理员文件夹位于http://yoursite.com/admin,因此像这样的规则应该可以工作:

RewriteCond %{REQUEST_URI} !^/admin/*

将其放置在您想要防止应用的 RewriteRule 之前。 RewriteCondRewriteRule 指令的顺序很重要,所以请确保您放置的位置正确。

0

我认为这可能更适合在ServerFault上讨论,但是有一个非常快速的答案:如果您放置

RewriteRule ^admin/ - [L]

在您的其他重写规则之前添加以下代码,这可以防止任何 URL 转换应用于以 admin/ 开头的 URL。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接