【问题标题】:How do I redirect "website/page" to "website/page.html" when people type it in browser (pretty-url)当人们在浏览器中键入“网站/页面”时,如何将“网站/页面”重定向到“网站/page.html”(漂亮的网址)
【发布时间】:2016-07-23 01:42:24
【问题描述】:

我最近开始使用没有 cms 的 godaddy.com 的静态网站。这是我上传的一个基本网站,只有html/js/css。

当人们输入“website.com/page”时,他们得到 404 not found。 当他们键入“website.com/page.html”时,他们会得到正确的页面。

如何修复我的网站,以便用户只需键入“website/page”,而不是在不使用 php 的情况下强制键入“website/page.html”?

解决方案

在研究了@Gijsberts 提供的有关 .htaccess 文件的信息(谢谢)之后,我做了以下事情:

  1. 在服务器上创建了一个 .htaccess 文件。
  2. 添加以下代码:

    # 从 html 文件中删除 .html 扩展名
    重写引擎开启
    RewriteCond %{REQUEST_FILENAME} !-f
    重写规则 ^([^.]+)$ $1.html [NC,L]

【问题讨论】:

  • 它是没有任何 CMS 的简单静态 html 网站吗?
  • @RomanNazarkin 正确

标签: html web pretty-urls


【解决方案1】:

大多数 CMS 系统都有一个 .htaccess 文件来处理重定向和 404 错误。在 CMS 系统中,它们最常被称为“Pretty-urls”。阅读下面的链接,使用没有 cms 的静态网页自己设置这些漂亮的 url。

【讨论】:

    【解决方案2】:

    您通常可以使用您的 Webserver 配置来执行此操作。在 Apache 中,您已自动启用此功能。在 nginx 你应该看看这个tutorial

    如果你使用caddy,你必须像这样配置你的 caddyfile

    ext .html .htm .php
    

    如果您使用的是 microsoft iis,请查看microsofts tutorial

    如果您正在使用其他东西或需要更多帮助,请告诉我。

    编辑

    如果您使用的是网络空间,您可能无法更改网络服务器的配置。您现在可以使用 .htaccess。创建一个 .htaccess 文件并写下类似

    的内容
    Options +MultiViews
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^\.]+)$ $1.php [NC,L]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-03
      • 2014-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-25
      • 2014-10-01
      • 1970-01-01
      相关资源
      最近更新 更多