多站点HTAccess 301重定向

时间:2013-03-20 作者:Mr Jonny Wood

我有一个多站点子域安装,上面有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文件?

3 个回复
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)将应用于系统上的所有域。如上所列,则每个规则仅适用于预期的域。希望这能帮助任何和我有同样问题的人。

SO网友:Joe Barrett

我在wordpress的htaccess文件中使用了这个multisite 具有subdomains 将子域页重定向到另一个主域页。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^subdomain\\.domain\\.org [NC]
RewriteRule ^redirect-from-subdmoain-page-url/(.*)$ https://domain.org/redirect-to-page-url/$1 [L,R]

结束

相关推荐

Wordpress multisite htaccess

我将Wordpress设置为一个多站点,作为步骤的一部分,它给出了一些更新和替换的指示。htaccess文件。Wordpress指示我将htaccess替换为:RewriteEngine On RewriteBase / RewriteRule ^index\\.php$ - [L] # add a trailing slash to /wp-admin RewriteRule ^wp-admin$ wp-admin/ [R=301,L] Rew