You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在.htaccess中实现特定WordPress页面到非WordPress页面的301重定向

解决旧WordPress /news/ 页面重定向至新页面且不影响现有/news/路径的方案

核心需求是将旧WordPress环境的根路径/news/(含不带斜杠的/news)永久重定向到shop-news.php,同时不干扰新环境中/news/开头的子页面(如/news/2020/...),且兼容已有的子页面重定向规则。

最优.htaccess规则配置

将以下规则放在所有已有的Redirect 301规则之前,确保执行优先级:

# 开启重写引擎
RewriteEngine On

# 精确匹配旧WordPress的/news/页面,排除真实存在的文件/目录(避免影响新环境的/news/路径)
RewriteCond %{REQUEST_URI} ^/news/?$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ https://www.example.com/shop-news.php [R=301,L]

# 已有的子页面重定向规则(保持原样)
Redirect 301 /newsitem1/ https://www.example.com/news/2020/newsitem1.php
Redirect 301 /newsitem2/ https://www.example.com/news/2021/newsitem2.php
Redirect 301 /newsitem3/ https://www.example.com/news/2021/newsitem3.php

规则说明

  1. RewriteCond %{REQUEST_URI} ^/news/?$:精确匹配请求路径为/news/或/news,^和$确保仅匹配完整的根路径/news,不会误匹配/news/2020/这类子路径。
  2. RewriteCond %{REQUEST_FILENAME} !-f 和 !-d:排除新环境中真实存在的/news文件或目录,避免对新路径产生干扰。
  3. [R=301,L]:标记为301永久重定向,L表示匹配后终止后续规则处理,防止和下方的子页面重定向规则冲突。

注意事项

  • 先使用R=302临时重定向测试规则有效性,确认无误后再改为R=301,避免浏览器缓存错误规则。
  • 确保服务器已启用mod_rewrite和mod_alias模块。

内容的提问来源于stack exchange,提问作者Jess99

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 14:05:23