.htaccess多个目录加载同一页面

时间:2015-10-15 20:38:47

标签: php .htaccess mod-rewrite

我有以下php文件:

www/
  -prueba.php
  -prueba-verificador.php
  -contenido.php

和以下.htaccess文件:

ErrorDocument 404 /quimica/404.php
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteBase /
RewriteRule ^([0-9A-Za-z]*)/$ $1.php
RewriteRule ^([0-9A-Za-z]*)/([0-9A-Za-z]*)/$ $1-$2.php
RewriteRule ^([0-9A-Za-z]*)/([0-9A-Za-z]*)/([0-9A-Za-z]*)/$ $1-$2.php/$3

当我访问 site.com/prueba / site.com/contenido / 工作正常时,请加载prueba.php和contenido.php,但是当我访问 site.com/prueba/verificador / 加载prueba.php而不是prueba-verificador.php

我如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

添加此项以禁用MultiViews:

Options -MultiViews

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

  

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