wordpress - 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]
但是重定向仍然没有发生。那么我该怎么做才能让这段代码为我工作呢?
解决方案
# 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/o5t9zlmulti_website/wp-admin/ (主网站)
multi_website/abc/wp-admin/
multi_website/pqr/wp-admin/
推荐阅读
- javascript - 如何单击 div 中的元素并获取该元素的文本内容,该元素源自循环到 DOM 的数组中的对象
- swift - 当我尝试设置过滤器时,表格视图单元格不出现
- javascript - Passport.js 本地策略返回错误“缺少凭据”
- mysql - MySQL 最佳方法
- nativescript - 创建关于缺少 .gitignore 的 Nativescript 共享项目时出错
- ios - 除了 EnvironmentObjects,还有更好的方法在 SwiftUI 中传递状态吗?
- java - 有没有办法只将依赖项中需要的部分放在 Maven 中?
- mongodb - MongoDb 更新所有记录的前导零
- javascript - 多次渲染以分离纹理
- python - 如何正确可视化劳埃德算法