【发布时间】:2014-08-04 07:35:54
【问题描述】:
我正在尝试从我的网页中删除 .php 扩展名,但遇到了麻烦。目前,我的 .htaccess 文件中有这个:
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^(.*)$ - [L]
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^((.*/)*[^./]+)/*$ $1.php [L]
在大多数情况下,这是可行的。但是,我的网站的结构是存在同名的文件夹和页面,例如 example.com/page1.php
但也有一个文件夹 page1,这样 example.com/page1/subpage.php 就会像我想要的那样显示出来。
此 .htaccess 代码将 example.com/page1/subpage 正确定向到 .php 文件,但对于 example.com/page1,它尝试重定向到文件夹而不是 page1.php,因此我收到访问错误被禁止了。
如何通过重写来解决这个问题,或者我应该以不同的方式组织/构造我的文件?
【问题讨论】:
标签: .htaccess mod-rewrite directory