所以我现在已经搜索了几个小时,却找不到我问题的答案。
因此,我有一个网站想要删除页面扩展名,例如.html / .php等。,我发现我可以在.htaccess文件中包含以下代码。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
我现在添加了该代码,它非常适合从页面中删除.html。但是现在我遇到了一个新问题。我的public_html文件夹的根目录中有一个页面和目录都名为“ guides”。现在,当我输入网址“ www.mydomain.com/guides”时,将显示指南目录的索引,而不是要显示的guides.html页面。
我想知道解决此问题的最佳方法是什么,使我的服务器首先查找网页,而不显示指南目录索引。
我一直在查看RewriteRule的内容,但似乎所有的都是wordpress内容,并且不适用于我的非wordpress网站。
谢谢您的任何帮助。
答案 0 :(得分:0)
最好的解决方案是将目录或文件的名称更改为其他名称。 RewriteRule无法将目录请求重写为文件,因为目录请求首先由mod-dir
(目录模块)处理。
如果您不想更改名称,则可以使用htaccess中的以下行在服务器上关闭DirectorySlash
:
DirectorySlash off
https://httpd.apache.org/docs/2.4/mod/mod_dir.html#directoryslash