我应该如何在我的WordPress网站上进行301重定向/重写?

时间:2018-03-07 15:22:40

标签: wordpress .htaccess url-redirection permalinks

我正在将我的WordPress网站从子域迁移到主域:

blog.example.netexample.net

子域上的典型帖子URL是:

https://blog.example.net/mypost

新域名上的典型帖子是相同的:

https://example.net/mypost

两者的WordPress永久链接设置相同。如果我将此重写规则添加到blog.example.net上的.htaccess文件:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^blog.example.net [NC,OR]
RewriteRule ^(.*)$ https://www.example.net/$1 [L,R=301,NC]

然后页面被重定向到:

https://www.example.net/YYYY/MM/DD/mypost

并且在新域名中找不到该页面:

如何从/YYYY/MM/DD/上的网址中删除https://example.net/mypost

1 个答案:

答案 0 :(得分:0)

如果URI中有/2018/03/07的日期:

,请尝试此操作
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?blog.example.net [NC]
RewriteCond %{THE_REQUEST} \s/[0-9]{4}/[0-9]{2}/[0-9]{2}/(.*)\sHTTP.*$
RewriteRule ^   https://www.example.net/$1 [L,R=301]

如果它与YYYY/MM/DD完全相同,请替换为:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?blog.example.net [NC]
RewriteCond %{THE_REQUEST} \s/[Y]{4}/[M]{2}/[D]{2}/(.*)\sHTTP.*$
RewriteRule ^   https://www.example.net/$1 [L,R=301]