wordpress 将301 www.example.com重定向example.org到example.com及其子页面

3z6pesqy  于 2022-12-17  发布在  WordPress
关注(0)|答案(1)|浏览(129)

我想进行从example.orgexample.com的301重定向
我面临的问题是,所有的页面都是example.org/page-something.html的形式,我想重定向到example.com/page-something
无论在.htaccess中尝试多少次,我都弄不明白。
我现在的代码是这样的

RewriteEngine On
RewriteRule ^/(.+)\.html https://example.com/$1 [R=301,L]

第一个网站是一个静态网站,第二个是WordPress的情况下,它的问题。

rt4zxlrg

rt4zxlrg1#

有几个可能的错误。
首先,你必须确保.htaccess在你的example.org站点上可用并启用。暂时在文件中放入一些无意义的内容,并验证服务器是否抛出500内部服务器错误。如果你发现.htaccess没有被使用:

  • 检查服务器是否为Apache(而不是Nginx或IIS,它们不使用.htaccess文件)。
  • 检查Apache服务器配置是否具有启用.htaccessAllowOverride all

您的重写存在潜在问题。在.htaccess中,匹配的路径不是以斜杠开头。这与Apache主配置文件中使用的重写规则不同,后者的路径确实以斜杠开头。要解决此问题,您可以使用?将开头斜杠设置为可选。然后,该规则应在以下任一位置起作用:

RewriteEngine On
RewriteRule ^/?(.+)\.html https://example.com/$1 [R=301,L]

您也可以尝试使用mod_alias RedirectMatch规则来代替:

RedirectMatch "^/?(.*)\.html" "https://example.com/$1"

相关问题