首页 文章

.htaccess重写重定向到文件夹

提问于
浏览
0

我试图从我的网页中删除.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,因此我收到一条禁止访问的错误 .

我如何通过重写来解决这个问题,还是应该以不同的方式组织/构建我的文件?

1 回答

  • 0

    使用此规则替换您的2条规则:

    RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
    RewriteRule ^(.+?)/?$ /$1.php [L]
    

相关问题