我有以下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
我如何解决这个问题?
答案 0 :(得分:1)
添加此项以禁用MultiViews:
Options -MultiViews
Apache docs on mod_negotiation描述了多视图选项启用时的功能:
如果 服务器接收/ some / dir / foo的请求和/ some / dir / foo没有 存在,然后服务器读取目录查找所有命名的文件 foo。*,并有效地伪造了一个类型地图,列出了所有这些 文件,为它们分配相同的媒体类型和内容编码 如果客户通过名字要求其中一个,那就会有。然后呢 选择最符合客户要求的,并返回 文档。