首页 > 解决方案 > WordPress 多站点安装的 301 重定向问题

问题描述

我在 SO 和其他网站或这个网站上看到了一堆帖子,但我的方法都没有奏效。我想可能是因为我的子域结构不同。

我有一个包含三个站点的 WordPress 多站点安装。来晚了,所以我必须让子域出现在 URL 的末尾。例如,URL 之一是dairyking.com/dairyberries/ 而不是dairyberries.dairyking.com

所以我在我的 /htaccess 中有一个重定向:

# Rewrite rules which will only apply to dairyberries.com/dairyking
RewriteCond %{HTTP_HOST} ^dairyberries\.com [nc]
RewriteRule ^dairyking/category/recipe/$ http://dairyberries.com/dairyking/category/recipe/ [R=301,NC,L]

但是重定向仍然没有发生。那么我该怎么做才能让这段代码为我工作呢?

标签: wordpress.htaccessredirectmultisite

解决方案


# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /multi_website/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /multi_website/index.php [L]
</IfModule>


# END WordPress

RewriteEngine On
RewriteBase /multi_website/
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
  • 将此添加到您的 .htaccess 文件中。请参阅下面的屏幕截图。这将 100% 有效。

    http://prntscr.com/o5t989
    https://prnt.sc/o5t9zl

    multi_website/wp-admin/ (主网站)
    multi_website/abc/wp-admin/
    multi_website/pqr/wp-admin/


推荐阅读