【问题标题】:How to remove .html file extension from URL如何从 URL 中删除 .html 文件扩展名
【发布时间】:2019-07-17 04:31:48
【问题描述】:

我正在尝试从我的网站的 URL 中删除 .html 文件扩展名。

我找到的所有答案都是关于 .htaccess 和所需的小 sn-p 代码,但这根本不起作用,即使从文件名中删除了 .html 扩展名。下面粘贴的代码是我试过的。

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

我只是想让我的网站看起来更专业,因为毕竟已经不是 2005 年了。

编辑:我只是一个完整的 HTML 和 CSS 初学者,所以请引导我完成可能的修复。谢谢!

【问题讨论】:

  • 你需要有服务器或使用一些水疗路由器
  • 这取决于您如何构建您的网站,您使用了哪些技术
  • 您确定您在 Apache httpd Web 服务器上运行吗?这就是此配置适用的内容。如果您有不同的服务器软件,则需要不同的配置。
  • 您好,.htaccess 用于 apache,我们希望您在这里使用它。该问题不包含关于 apache 的标签,而是与此问题无关的 [HTML] 标签,因为它与 HTML 无关,而是关于 apache 和 .htaccess。让我们保持话题。
  • 看起来 nginx 正在为您的网站提供服务,因此可能与 NGINX remove .html extension 重复

标签: .htaccess


【解决方案1】:

假设您的页面位于http://www.yoursite.com/html 下,则适用以下 .htaccess 规则。

<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /html/(.*).html\ HTTP/
   RewriteRule .* http://localhost/html/%1 [R=301,L]

   RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /html/(.*)\ HTTP/
   RewriteRule .* %1.html [L]
</IfModule>

【讨论】:

  • 当我从 URL 中删除 .html 时,它的作用如下:imgur.com/5n4SYUm 我做错了吗?
猜你喜欢
  • 2017-02-24
  • 2015-03-20
  • 1970-01-01
  • 2017-12-13
  • 2013-03-14
  • 1970-01-01
  • 2016-10-16
  • 1970-01-01
  • 2020-08-06
相关资源
最近更新 更多