在 .htaccess 中重写 mod 以隐藏不起作用的 URL 扩展名



只是无法摆脱我的网址扩展名。

我正在构建一个静态站点,因此所有内容都是HTML格式,并且文件具有.html扩展名。我想对用户隐藏.html扩展名,以便我的网址读取 websitename.com/about

我已经修改了托管我的网站的 .htaccess 文件,现在看起来像这样

# -FrontPage-
IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*
<Limit GET POST>
order deny,allow
deny from all
allow from all
</Limit>
<Limit PUT DELETE>
order deny,allow
deny from all
</Limit>
AuthName boldfacedesign.co.uk
AuthUserFile /home/boldface/public_html/_vti_pvt/service.pwd
AuthGroupFile /home/boldface/public_html/_vti_pvt/service.grp
RewriteBase /
RewriteEngine on
RewriteCond %{RQUEST_FILENAME} !-d
RewriteCond %{RQUEST_FILENAME}.html -f
RewriteRule ^(.*)$ $1html [L,QSA]

目前,这是行不通的。

如您所见,此文件位于public_html文件夹中,这是正确的位置吗?还是我需要执行其他操作才能使重写规则生效?还是我只需要耐心等待一天即可让更改生效?

我已经在谷歌上搜索了几个小时,但我一无所获。

不确定这些是错别字还是什么,但您的重写规则可能看起来更像:

RewriteBase /
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)$ $1.html [L,QSA]

或者,如果您有尾部斜杠,最后一行应该是:

RewriteRule ^(.*?)/?$ $1.html [L,QSA]

最新更新