我需要将格式如下的单个 Wordpress URL 重定向www.bluewidgets.com/?p=123
到另一个域上的干净 URL。我怎样才能做到这一点.htaccess
?我见过的所有教程都说我需要index.php
在查询字符串之前指定 url 的另一部分,例如 ,但我的 URL 没有 - 它只是域,然后是查询字符串。
问问题
3169 次
4 回答
1
你不能先添加到 header.php,然后再添加:
<?php
if ($_GET['p'] == '123') {
header('Location:http://www.yourotherdomain.com');
exit;
}
?>
我过去做过类似的事情。它可能不漂亮,但它确实有效——我很想听听更有经验的 PHP 人说这是否是一种合法的策略。
于 2009-11-30T20:04:47.587 回答
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
模式以 a 开头,=
用于标识字典比较而不是正则表达式测试。此外,替换的空查询(用 表示…?
)将删除最初请求的查询。
于 2009-12-02T09:39:45.707 回答
0
标准 301 重定向采用以下格式(并且位于 domain1):
Redirect 301 /filename.php http://domain2.com/filename.php
但我只是用默认的永久链接尝试过,它没有用。
在 domain1 上,您可以使用标准 wordpress 重写块重写 URL,然后立即将其重定向到 tp domain2。凌乱,但它可能会工作。
于 2009-11-30T14:59:52.097 回答
0
wordpress 不是已经内置了 URL 美化功能吗?只是出于好奇,您为什么需要这样做。
除此之外,是的,您提到的是如何通过 htaccess 进行操作。您是否遇到此方法的问题?
于 2009-11-30T12:21:06.570 回答