我对 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
任何帮助表示赞赏...