【问题标题】:htaccess mod rewrite NOThtaccess mod重写NOT
【发布时间】:2010-04-19 06:30:10
【问题描述】:

我在 apache 上重写 url 有一个小问题。

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

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

我自己尝试过,但我想不通。

谢谢。

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

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

    RewriteCond %{REQUEST_URI} !^/admin/*
    

    把它放在你想阻止被应用的RewriteRule 之前。 RewriteCondRewriteRule 指令的顺序很重要,因此请确定放置位置。

    【讨论】:

      【解决方案2】:

      我认为这可能更像是一个 ServerFault 问题,但有一个非常快速的答案:如果你放

      RewriteRule ^admin/ - [L]
      

      您的其他重写规则之前,应该防止任何 URL 转换应用于以 admin/ 开头的 URL。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多