rewriterule无法使用' /'

时间:2016-04-14 13:29:34

标签: .htaccess mod-rewrite

我有以下重写代码:

RewriteEngine on

RewriteRule ^about$ /about.php [QSA,L,NC]
RewriteRule ^about/mission$ /about_mission.php [QSA,L,NC]
RewriteRule ^about/team$ /about_team.php [QSA,L,NC]
RewriteRule ^about/join-me$ /about_join_me.php [QSA,L,NC]

在我的本地计算机上,它运行良好,但在我的服务器上,只有页面" about"显示(即使我导航到约/任务...)。如果我执行以下操作:

RewriteEngine on

RewriteRule ^about$ /about.php [QSA,L,NC]
RewriteRule ^about-mission$ /about_mission.php [QSA,L,NC]
RewriteRule ^about-team$ /about_team.php [QSA,L,NC]
RewriteRule ^about-join-me$ /about_join_me.php [QSA,L,NC]

它有效(当我导航到"关于任务"任务页面出现时)。

任何知道可能出错的人?

1 个答案:

答案 0 :(得分:1)

添加此项以禁用MultiViews:

Options -MultiViews

Apache docs on mod_negotiation描述了多视图选项启用时的功能:

  

如果   服务器接收/ some / dir / foo的请求和/ some / dir / foo没有   存在,然后服务器读取目录查找所有命名的文件   foo。*,并有效地伪造了一个类型地图,列出了所有这些   文件,为它们分配相同的媒体类型和内容编码   如果客户通过名字要求其中一个,那就会有。然后呢   选择与客户要求的最佳匹配,并返回   文档。