当人们在浏览器中输入它时,我如何将 "website/page" 重定向到 "website/page.html" (pretty-url)
How do I redirect "website/page" to "website/page.html" when people type it in browser (pretty-url)
我最近开始使用 godaddy.com 没有 cms 的静态站点。这是我上传的基本网站,只有 html/js/css.
当人们输入 "website.com/page" 时,他们得到 404 not found。
当他们键入 "website.com/page.html" 时,他们会得到正确的页面。
如何修复我的网站,以便用户可以简单地键入 "website/page" 而不是在不使用 php 的情况下被迫键入 "website/page.html"?
解决方案
在研究了@Gijsberts(谢谢)提供的关于 .htaccess 文件的信息后,我做了以下工作:
- 在服务器上创建了一个 .htaccess 文件。
添加了以下代码:
# 从 html 个文件中删除 .html 扩展名
重写引擎开启
RewriteCond %{REQUEST_FILENAME} !-f
重写规则 ^([^.]+)$ $1.html [NC,L]
大多数 CMS 系统都有一个 .htaccess 文件来处理重定向和 404 错误。在CMS系统中,它们被称为"Pretty-urls"。阅读下面的链接,使用没有 cms 的静态网页自行设置那些漂亮的 url。
您通常可以使用 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 ^([^\.]+)$ .php [NC,L]
我最近开始使用 godaddy.com 没有 cms 的静态站点。这是我上传的基本网站,只有 html/js/css.
当人们输入 "website.com/page" 时,他们得到 404 not found。 当他们键入 "website.com/page.html" 时,他们会得到正确的页面。
如何修复我的网站,以便用户可以简单地键入 "website/page" 而不是在不使用 php 的情况下被迫键入 "website/page.html"?
解决方案
在研究了@Gijsberts(谢谢)提供的关于 .htaccess 文件的信息后,我做了以下工作:
- 在服务器上创建了一个 .htaccess 文件。
添加了以下代码:
# 从 html 个文件中删除 .html 扩展名
重写引擎开启
RewriteCond %{REQUEST_FILENAME} !-f
重写规则 ^([^.]+)$ $1.html [NC,L]
大多数 CMS 系统都有一个 .htaccess 文件来处理重定向和 404 错误。在CMS系统中,它们被称为"Pretty-urls"。阅读下面的链接,使用没有 cms 的静态网页自行设置那些漂亮的 url。
您通常可以使用 Webserver 配置来执行此操作。在 Apache 中,您已自动启用此功能。在 nginx 你应该看看这个 tutorial.
如果您使用 caddy,您必须像
一样配置您的 caddyfileext .html .htm .php
如果您使用的是 Microsoft iis,请查看 microsofts tutorial。
如果您正在使用其他东西或需要更多帮助,请告诉我。
编辑
如果您使用的是 网络空间,您可能无法更改网络服务器的配置。您现在可以使用 .htaccess。创建一个 .htaccess 文件并写下类似
的内容Options +MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ .php [NC,L]