1

我对 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

任何帮助表示赞赏...

4

1 回答 1

0

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

我认为 .htaccess 旨在每次都被阅读......

不是这样...

于 2013-05-27T22:15:11.817 回答