我在WordPress网站(http://www.raynauds.org)的根目录中有htacess文件。我需要将所有调用重定向到:
http://www.raynauds.org/?p=2366
为:
我在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/
答案 0 :(得分:1)
重写和重定向都应用于URL。
你的RewriteRules都有[L]标志,声明这将是修改URL的最后一条规则,因此重定向将不会用于匹配其中一个RewriteRules的URL。
由于第二个RewriteRule将捕获所有请求,因此您的重定向将无法正常工作。 您还可以使用像
这样的RewriteRule重定向RewriteCond %{QUERY_STRING} p=2366
RewriteRule . http://www.example.com [R=301,L]
请同时查看Manual
中的可用标记当然这个规则应该在Wordpress的RewriteCond / RewriteRule行之前运行。
答案 1 :(得分:0)
将Redirect 301
规则移至RewriteBase
声明下方的行。