.htaccess htaccess将单个WordPress页面重定向到新的非WordPress页面

arknldoa  于 2022-11-25  发布在  WordPress
关注(0)|答案(1)|浏览(173)

对于一个项目,我转换了一个旧的WordPress环境到一个非WordPress环境,我需要一个特定的WordPress页面的重定向。
例如:
旧的(WordPress页面)

https://www.example.com/news/

新建(非WordPress页面):

https://www.example.com/shop-news.php

但是,/news/文件夹中的页面已经使用Redirect 301解析。

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
Etc..

名称/news/也出现在新环境中,因此我必须防止重定向规则也更改新URL。
如何在.htaccess中最好地解决这个问题?我已经尝试了一些正则表达式,但我无法解决。
我已经尝试了几种RewriteCondRewriteRule的方法,特别是沿着下面的方法:
RewriteRule ^news/[some Regex expressions to indicate that it should be 'empty' after the /] shop-news.php [R=301,L]

csga3l58

csga3l581#

要只重定向/news/,您需要将以下mod_rewrite指令放在.htaccess文件的 * 顶部 *,WordPress代码块 * 之前 *,即# BEGIN WordPress部分 * 之前 *(指令的顺序很重要)。

RewriteRule ^news/$ /shop-news.php [R=301,L]

$是字符串结尾锚,指示URL路径的结尾。
还要注意 substitution 字符串上的/(斜杠)前缀。如果没有斜杠前缀,这个规则依赖于RewriteBase指令(通常在文件后面的WordPress代码块中定义)。但是,外部重定向应该很少依赖于RewriteBase指令。
您不需要重复RewriteEngine On指令,该指令稍后出现在文件中(在WordPress代码块中)。

相关问题