我有一个静态html网站,我使用.htaccess通过从地址中删除.html来清理网址。
问题是当我访问" example.com/path"它与文件夹"路径"冲突但是当我选择手动输入example.com/path.html时,我会将页面加载得很好。
"路径"内的网址文件夹和#34; example.com/path/page1"有和没有.html文件扩展名。
我现在唯一的选择就是尽可能微妙地从文件名中更改文件夹名称,直到找到解决方案。
我已经查看过被问及的相关问题,以及对我的.htaccess文件中的条件的一些研究,但没有运气。
感谢任何帮助。
编辑***
htaccess文件..
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.co.uk/$1 [R,L]
RewriteCond %{HTTP_HOST} !^www.example.co.uk$ [NC]
RewriteRule ^(.*)$ https://www.example.co.uk$1 [L,R=301]
刚刚返回403。
答案 0 :(得分:0)
请尝试以下代码
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.html [NC]
RewriteRule ^ %1 [R,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*?)/?$ $1.html [L]
注意:不要忘记替换 RewriteBase 。截至目前,我添加了 / bca,我的项目位于根文件夹中。您只需添加文件夹名称,如下所示
RewriteBase /yourfoldername/
希望它对你有用。