我有一个多站点子域安装,上面有3个站点。其中2个站点使用域映射。
主站点(id=1)需要几个301,这些301是以前结构中的旧页面,例如:
Redirect 301 /about/careers/ /contact/careers/
其他一个站点(id=3)的内容已移动到主站点。通常,我会在中重定向这个。htaccess访问该站点:
Redirect 301 /news/events/ http://domain.com/news/events/
Multisite只有一个。htaccess文件。有没有办法从main为每个站点/域添加301个重定向。htaccess文件?
SO网友:Mr Jonny Wood
可以
RewriteEngine On
RewriteBase /
# Blog ID1 Rewrite Rules
RewriteCond %{HTTP_HOST} ^(www\\.)?primary-domain.co.uk [NC]
RewriteRule ^about/careers/$ contact/careers/ [R=301,NC,L]
RewriteRule ^glossary.html$ sitemap/ [R=301,NC,L]
# Blog ID3 Rewrite Rules
RewriteCond %{HTTP_HOST} ^(www\\.)?mapped-domain3.co.uk [NC]
RewriteRule ^about/$ http://primary-domain.co.uk/about/ [R=301,NC,L]
RewriteRule ^news/$ http://primary-domain.co.uk/news/ [R=301,NC,L]
这是可行的,我的特定站点还有158行,但你明白了。我还没有找到一个明确的解决方案,但是
this article 帮了我很大的忙。
希望这能帮助其他寻求相同解决方案的人;)
SO网友:Casper
我也使用上述信息为我的系统找到了答案。但在实现过程中,我发现我必须将其结构化。
RewriteEngine On
RewriteBase /
# Website site-1 Rewrite Rules
RewriteCond %{HTTP_HOST} ^(www\\.)?domain.com [NC]
RewriteRule ^that-one-page-old/$ that-one-page-new/ [R=301,L]
RewriteCond %{HTTP_HOST} ^(www\\.)?domain.com [NC]
RewriteRule ^that-other-page-old.php$ that-other-page-new/ [R=301,L]
如果我没有这样构造,那么一个旧页/将正常工作,但是下面的规则(另一个旧页.php)将应用于系统上的所有域。如上所列,则每个规则仅适用于预期的域。希望这能帮助任何和我有同样问题的人。