访问文件夹时htaccess同名文件和文件夹无法正常工作

时间:2016-01-02 20:15:57

标签: php .htaccess mod-rewrite

我有一个名为friends.html的文件。

然后我有一个朋友文件夹

我的htaccess工作正常,localhost / friends /打开我的friends.html,因为我想要

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.html
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]

现在,如果我在friends / best /文件夹中有mary.html,我如何让localhost / friends / best / mary /转到localhost / friends / best / mary.html?

这不适用于当前档案 - 非常感谢

1 个答案:

答案 0 :(得分:0)

如果您的问题只是一个双深度目录,那么您可以添加以下行:

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/$ /$1/$2/$3.html

正如我在您的示例中看到的,您可能需要的唯一规则如下:

RewriteRule ^(.*)/$ /$1.html

以下是:

/friends -> /friends.html
/friends/john/ -> /friends/john.html
/friends/best/mary/ -> /friends/best/mary.html
/friends/of/my/friends/george/ -> /friends/of/my/friends/george.html