0

我在 WordPress 网站 (http://www.raynauds.org) 的根目录中有 htacess 文件。我需要将所有呼叫重定向到:

http://www.raynauds.org/?p=2366

至:

http://www.raynauds.org/2012/08/11/dr-maureen-mayes-joins-raynauds-association-medical-advisory-board/

我在 Linxus 服务器上运行 Apache。下面的代码似乎没有做任何重定向请求。我究竟做错了什么?

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Redirect 301 /?p=2366 http://www.raynauds.org/2012/08/11/dr-maureen-mayes-joins-raynauds-association-medical-advisory-board/
4

2 回答 2

1

在查找要执行的文件之前,重写和重定向都应用于 URL。

您的 RewriteRules 都具有 [L] 标志,表明这将是修改 URL 的最后一个规则,因此重定向不会用于匹配 RewriteRules 之一的 URL。

由于第二个 RewriteRule 将捕获所有请求,因此您的重定向将不起作用。您还可以使用 RewriteRule 重定向

RewriteCond %{QUERY_STRING}  p=2366
RewriteRule . http://www.example.com [R=301,L]

另请查看手册中的可用标志

当然,这条规则应该在 Wordpress 本身的 RewriteCond/RewriteRule 行之前生效。

于 2013-01-08T22:56:54.023 回答
0

将您的规则移至语句Redirect 301下方的行。RewriteBase

于 2013-01-08T22:58:07.987 回答