【发布时间】:2021-03-22 21:10:10
【问题描述】:
我最近从使用 Wordpress 切换到仅使用静态 html 的网站。当我重新制作每一页时(总共只有 6 页),我保留了相同的 URL 名称。
例如:https://reactiongaming.us/alteriwnet/ 现在是 https://reactiongaming.us/alteriwnet.html
我的问题是旧链接和 Google 搜索结果包含导致 404 错误的反应游戏.us/alteriwnet/ 版本。我已经为“漂亮的 URL”尝试了各种 .htaccess 方法,但没有一个有效。通常,这些问题是关于如何从 .html URL 重定向到漂亮的 URL,但我正试图做相反的事情。
我总共只需要将 6 个 URL 从 reactgaming.us/example/ 重定向到 reactgaming.us/example.html。有没有 .htaccess 或其他方法来实现这一点?
我试过了:
RewriteCond %{THE_REQUEST} \.html [NC]
RewriteRule ^(.*)\.html$ /$1 [R=302,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html [L]
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)$ $1.html [NC,L]
【问题讨论】:
-
一个非常简单的方法是为每个页面创建 1 个文件夹,并重命名此文件夹中的每个(唯一和单个)页面 index.htm 或您网站使用的索引页面的任何默认名称。
-
“我尝试了各种 .htaccess 方法” - 请阅读How to Ask。你应该向我们展示你尝试了什么。
-
在最简单的形式中,
RewriteRule (.*)/$ $1.html [R=301]应该可以解决问题。如果您有实际的文件夹需要免除此限制,则可以将具有通常!-d条件的 RewriteCond 放在其前面。如果需要,.*模式可以更具体。
标签: html .htaccess url redirect