【问题标题】:mod_rewrite rewrite rule redirecting browser url when trailing slash is not present当斜杠不存在时,mod_rewrite 重写规则重定向浏览器 url
【发布时间】:2013-05-27 21:39:41
【问题描述】:

我的 mod_rewrite 规则有问题。

基本上,我试图隐藏一个丑陋的文件夹名称。如果我包含尾部斜杠,它可以正常工作,但如果我没有斜杠,它会重定向(这是正确的术语,它实际上更改浏览器 url 的地方吗?)到丑陋的文件夹名称。

Options +FollowSymlinks
RewriteEngine on
RewriteBase /

RewriteRule ^AMN/?(.*)$ _map.AMN/index.php?page=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.+)$ /index.php?page=$1 [L]

所以基本上,如果我输入带有斜杠的http://example.com/AMN/,它会按需要工作:浏览器在 _map.AMN 中显示内容,同时保留漂亮的 url。但是,如果我输入 http://example.com/AMN 而没有尾部斜杠,它会将浏览器中的 url 重定向为不需要的 http://example.com/_map.AMN

我看到了一些其他问题,其中建议问题在于目录中有一个名为“AMN”的文件夹,但事实并非如此(至少在此子域中)。这是没有解决问题的问题:Another mod_rewrite trailing slash question

感谢任何帮助...

【问题讨论】:

    标签: apache mod-rewrite


    【解决方案1】:

    跛脚。 Firefox 正在缓存 .htaccess 文件。我的改变甚至没有发生。在 Safari 中运行良好。

    我认为 .htaccess 是为了每次都被读取...

    不是这样的……

    【讨论】:

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