将文件重新路由到文件夹/目录名,但保留Apache中的目录子项

时间:2017-04-09 05:34:15

标签: html regex apache .htaccess

我有一个文件夹和一个名称相同的文件,例如main.htmlmain/。我的.htaccess文件中有以下规则:

RewriteEngine On
DirectorySlash off
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]

这些规则用于在.html文件提供给浏览器时从.html文件中删除所有main.html个扩展名。

如何让浏览器识别我要查看.html没有main扩展名,而不是main.html文件夹?

如果无法做到这一点我可以在main文件夹中使用此main.html文件,但在调用../main/时,它应显示../main/main.html而不是<a href="main.html"></a>。我该怎么做?

如果我在代码中指定完整路径,请执行以下操作:.html,浏览器将显示<a href="main"></a>个结尾。但是,如果我将其更改为main/浏览器,则说明403 Forbidden无法加载任何内容并返回RewriteCond %{REQUEST_FILENAME} main/$ RewriteRule ^(.*)/$ $1 错误。

更新

main

添加上述规则的工作,但现在我无法访问main目录中的子目录,因为它被重定向到{{1}}文件。

尝试以下解决方案但未成功:

0 个答案:

没有答案