重定向/?p = xxx wordpress URL

时间:2009-11-30 12:17:57

标签: wordpress .htaccess mod-rewrite http-status-code-301

我需要将一个格式如下:www.bluewidgets.com/?p=123的Wordpress URL重定向到另一个域上的干净网址。我如何通过.htaccess执行此操作?我见过的所有教程都说我需要在查询字符串之前指定url的另一部分,比如index.php,但是我的URL没有 - 它只是域,然后是查询字符串。

4 个答案:

答案 0 :(得分:1)

你能不能在header.php之前添加其他内容:

<?php
if ($_GET['p'] == '123') {
    header('Location:http://www.yourotherdomain.com');
exit;
}
?>

我过去做过类似的事情。它可能不是很漂亮,但它确实有效 - 我有兴趣听听更有经验的PHP用户是否是一种合法的策略。

答案 1 :(得分:1)

尝试此规则:

RewriteCond %{QUERY_STRING} =p=123
RewriteRule ^$ /foo/bar? [L,R=301]

或使用 REQUEST_URI

RewriteCond %{REQUEST_URI} =/?p=123
RewriteRule ^$ /foo/bar? [L,R=301]

请注意,RewriteCond模式以=开头,用于标识词典比较而不是正则表达式测试。此外,替换中的空查询(用…?表示)将删除最初请求的查询。

答案 2 :(得分:0)

wordpress是否已经内置了URL改进功能?出于好奇,你为什么要这么做呢。

除此之外,你提到的是你如何通过htaccess来做到这一点。你遇到这个方法的问题吗?

答案 3 :(得分:0)

标准301重定向的格式为(并且将位于domain1):

Redirect 301 /filename.php http://domain2.com/filename.php

但我只是尝试使用默认永久链接,但它无效。

在domain1上,您可以使用标准的wordpress重写块重写URL,然后立即将其重定向到域2。凌乱,但它可能会奏效。