我在EC2上运行了一个Wordpress网站。它托管在一个目录中,如下所示:
www.olddomain.ca/blog
我们正在迁移到新网址,因此我在新网站中复制了该网站:
www.newdomain.com
我想将访问旧域上帖子的用户重定向到新域上的等效帖子。我相信mod-rewrite是执行此操作的正确工具。但是,我的用户在新网站上使用了Wordpress配置,这使得网址不同。
一个例子:
http://www.olddomain.ca/blog/?p=296
变为http://www.newdomain.com/index.php/p296
我无法完成这项工作 - 我从未使用过mod-rewrite,这似乎是一个复杂的场景。有什么帮助吗?
答案 0 :(得分:1)
将此代码放在旧域的DOCUMENT_ROOT/.htaccess
文件中:
RewriteEngine On
# URIs without any p=... query string
RewriteCond %{HTTP_HOST} olddomain\.ca$ [NC]
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^blog/(.*)$ http://www.newdomain.com/$1 [NC,NE,R=301,L]
# URIs with p=... query string
RewriteCond %{HTTP_HOST} olddomain\.ca$ [NC]
RewriteCond %{QUERY_STRING} (?:^|&)p=([^&]+) [NC]
RewriteRule ^blog/?$ http://www.newdomain.com/index.php/p%1? [NC,NE,R=301,L]