重写URL以删除`.html`扩展名

时间:2018-11-18 23:39:38

标签: html apache mod-rewrite

我正在尝试删除网站URL上的.html扩展名,但似乎无济于事。 << / strong> Website > 。 我已经制作了一个.htaccess文件,并放入了以下文件:

runtime

AND

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

但是我发现似乎没有任何作用。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您的重写实现很好。

您很可能没有启用htaccess AllowOverride指令,或者有可能未打开mod_rewrite。

如果您有权访问服务器配置并记录日志,最好将重写指令放在服务器配置文件中。它更快,更清洁,并避免了可能的AllowOverride问题。日志应该准确显示正在发生的事情,您可以使用以下命令暂时启用详细的mod_rewrite日志记录:

LogLevel alert rewrite:trace3

如果您无权访问服务器配置和日志,则需要与您的提供商联系。如果无法访问这些文件,就不可能解决问题。

答案 1 :(得分:0)

使用此元数据,然后将文件上载到不带.html扩展名的Web根目录中

<meta http-equiv="content-type" content="text/html; UTF-8">