使用带有网络解决方案的 .htaccess 隐藏扩展名



我想使用我的 .htaccess 文件从网络解决方案服务器中删除.html扩展名。 例如,将 example.com/foo.html 转换为 example.com/foo

我已经尝试了其他堆栈溢出解决方案,但似乎没有一个对我有用。

我当前的代码可以在其他 Hostgator 服务器上完美运行。 任何帮助将不胜感激。

RewriteEngine on
RewriteCond %{THE_REQUEST} /([^.]+).html [NC]
RewriteRule ^ /%1 [NC,L,R]
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^ %{REQUEST_URI}.html [NC,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /.*.html HTTP/
RewriteRule ^(.*).html$ /$1 [R=301,L]
AddHandler server-parsed .html
AddHandler server-parsed .shtml
AddHandler server-parsed .htm 

这很可能是全局 Apache(网络服务器)配置的问题。主机需要在站点虚拟主机条目中使用 AllowOverride 指令启用 .htaccess 支持。此外,还需要启用ModRewrite。这两个配置选项都被认为是"安全的",应该能够由主机启用。

Hostgator.com 具有非常灵活的Apache配置,恕我直言,共享虚拟主机具有出色的默认值。

最新更新