【发布时间】: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