当尾部斜杠不存在时,mod_rewrite重写规则重定向浏览器URL

时间:2013-05-27 21:39:41

标签: apache mod-rewrite

我遇到了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中的内容。但是如果我放入http://example.com/AMN而没有斜杠,它会将浏览器中的网址重定向为不受欢迎的http://example.com/_map.AMN

我看到了其他一些问题,其中提出问题是在目录中有一个名为“AMN”的文件夹,但情况并非如此(至少在此子域内)。这是一个没有做到这一点的问题:Another mod_rewrite trailing slash question

感谢任何帮助...

1 个答案:

答案 0 :(得分:0)

拉​​梅。 Firefox正在缓存.htaccess文件。我的改变甚至没有发生。在Safari中正常工作。

我以为.htaccess每次都打算阅读......

不是这样......