【问题标题】:URL Rewrite problem. (Many directory)URL 重写问题。 (很多目录)
【发布时间】:2010-04-20 17:12:25
【问题描述】:

我想制作一个 htaccess 文件,它可以为我的网站构建一个良好的结构。

我的 .htaccess 现在是:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !\.(jpg|jpeg|gif|png|css|js|pl|txt)$
RewriteCond %{REQUEST_URI} !/admin
RewriteRule ^(.*)$ index.php?q=$1 [QSA]

(基于 Sombat 的评论,大约 30 次尝试:P)

我想用它来做这个:

除了(jpg|jpeg|gif|png|css|js|pl|txt)之外的所有元素

如果 domain.xx/admin 重定向到 domain.xx/admin 目录并且根本不进行重写 我的意思是:让我使用 domain.xx/admin/index.php?asd=1&asdd=2

否则将所有内容按照规则一重写为 index.php。

感谢您的帮助。

【问题讨论】:

    标签: php url url-rewriting


    【解决方案1】:

    您可以在现有的指令之后添加另一个 RewriteCond 指令,该指令将排除管理目录。

    RewriteCond %{REQUEST_URI} !^/admin/.*
    

    如果RewriteCond 与您的管理员路径匹配,这将阻止应用您的RewriteRule。 RewriteCond 和 RewriteRule 指令的顺序很重要,因此请务必将其放在您希望它影响的 RewriteRule 之前。

    【讨论】:

    • 你很酷。谢谢。顺便说一句,你的名字在匈牙利语中几乎是星期六。这是szombat。 :)
    • 嗯...我测试了该规则,它适用于我的设置。试试.* 而不是*,这是我的错字,但从技术上讲,该规则应该仍然有效。
    • 最后:RewriteCond %{REQUEST_URI} !admin/ 对我有好处:/ 感谢您的帮助。来自匈牙利的 High5:P
    猜你喜欢
    • 2011-04-17
    • 1970-01-01
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    • 2011-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多