WordPress多站点Permalink变更:htaccess 301重定向配置求助
解决WordPress多站点Permalink 301重定向问题
你的配置失效的核心问题是RewriteRule目标路径里多了个多余的^符号,另外要注意把自定义重定向规则放在WordPress自动生成的规则块之前,不然会被WP的规则优先处理导致不生效。
正确的.htaccess配置如下:
# subsite Rewrite Rules RewriteCond %{HTTP_HOST} ^subsite.example.com [NC] RewriteRule ^blog/(.*)$ /something-nice/$1 [R=301,NC,L] # WordPress自动生成的规则(保持原样即可,放在自定义规则之后) <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
补充几点注意事项:
- 目标路径开头的
^是错误写法,直接用/something-nice/$1才能生成正确的重定向地址 - 必须把自定义重定向规则放在WP自带规则前面,确保请求先进入重定向判断逻辑
- 测试前清空浏览器缓存,301重定向会被浏览器持久缓存,可能掩盖修改后的规则效果
内容的提问来源于stack exchange,提问作者mathias b
相关产品推荐
相关产品推荐

