【问题标题】:.htaccess file does not overwrite html and instead shows markup on page.htaccess 文件不会覆盖 html,而是在页面上显示标记
【发布时间】:2017-08-10 06:33:58
【问题描述】:

我正在建立一个个人网站,我希望我的 url 链接看起来像 domainname.com/example 而不是 domainname.com/example.html

我将 fastcomet 用于我的虚拟主机服务。在我的 public_html 文件夹下,我有一个 .htaccess 文件。这是我的 .htaccess 文件的代码。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
</IfModule>

我的 .htaccess 文件和我所有的 html、css、js 文件都在 home/username/public_html/ 下,我已经从我的所有 html 文件中删除了 .html 扩展名。应用这些更改后,我尝试获取 http://domainname.com/example,我看到了 html 标记,而不是呈现的 html,例如:

<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml">
<all my code .... />
</html>

对我应该做什么有什么建议吗?我将 .htaccess 文件放在错误的目录中?我还尝试在 .htaccess 文件中使用和不使用 Ifmodule 标签。

谢谢!

【问题讨论】:

  • “我已经从我的所有 html 文件中删除了 .html 扩展名” - 澄清一下,您已经从 HTML 文件本身中删除了文件扩展名?或者只是从指向该文件的 URL(这是您应该做的)?

标签: html apache .htaccess


【解决方案1】:

是的,确实,您应该保留文件扩展名 .html 以便您可以正确处理您的文件,并且您的 .htaccess 可以按预期工作。在此期间,您似乎实际上已将工单张贴给我们的技术支持团队。尽管对您的请求有一点误解,但我们团队的一位高级成员成功地从 NginX 服务中排除了对 HTML 和 HTM 文件的处理,它们现在直接传递给您的域的 Apache。因此,您的所有 url 链接现在看起来都像 domainname.com/example 而不是 domainname.com/example.html。如果您有任何进一步的要求,请随时与我们联系!

【讨论】:

    【解决方案2】:

    我已从所有 html 文件中删除了 .html 扩展名

    这就是您看到页面代码的原因。

    重命名文件并使用以下重写规则:

    <IfModule mod_rewrite.c>
       RewriteEngine on
       RewriteCond %{REQUEST_FILENAME} !-f
       RewriteCond %{REQUEST_FILENAME} !-d
       RewriteRule ^(.*)\.html$ /$1 [L,R=301]
    </IfModule>
    

    【讨论】:

      【解决方案3】:

      FastComet 团队在这里!我们共享托管环境的一部分是利用 NginX 作为 Apache Web 服务的反向代理。这意味着静态内容(例如 HTML 文件)由 NginX 直接处理,而不是由 Apache 处理。这就是为什么您应用于您网站的 .htaccess 文件的任何规则都没有进行任何实际更改的原因。对 HTML 文件的请求将由 NginX 直接处理,它们不会传递给 Apache,因此 .htaccess 规则将被忽略。

      有一个简单的方法可以解决这个问题。我们可以排除对您的域甚至整个托管帐户的 HTML 和 HTM 文件的处理。这样,这些请求将由 Apache Web 服务器而不是 NginX 处理。在这种情况下,您应用的 .htaccess 规则将被系统考虑在内,它们将毫无问题地工作。为此,只需向我们的技术支持团队提交工单,我们将很乐意为您提供帮助。

      【讨论】:

      • 谢谢。因此,在票证中,我只是表明我想排除对我域上文件的 html 处理,然后我的 .htaccess 文件将起作用。您知道我是否需要将文件的文件扩展名保留为 .html?
      猜你喜欢
      • 2022-10-22
      • 2013-07-05
      • 1970-01-01
      • 2011-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-20
      • 1970-01-01
      相关资源
      最近更新 更多