2012-07-25 75 views
0

我想为我的一些分类法创建一系列重定向(无插件)。Wordpress重定向

本质上,我希望所有sitedomain.com/taxonomy1/term和sitedomain.com/taxonomy2/term指向sitedomain.com/page?taxonomy1=term和sitedomain.com/page?taxonomy2=term重复使用。

我有一个使用URL查询的页面,所以我宁愿将用户引导到那里,而不是显示“分类”页面。

我认为我可以用htaccess或Wordpress的重定向规则做到这一点,但我不知道如何。

回答

1

您可以简单地使用的.htaccess:

Redirect 301 /taxonomy1/term /page?taxonomy1=term 
Redirect 301 /taxonomy2/term /page?taxonomy2=term 

您还可以使用RedirectMatch,或重写规则。

1

Wordpress不会自动生成条款归档。

对于sitedomain.com/taxonomy1/term的工作,你需要做的是创建一个名为taxonomy1-term.php的模板页面。

还要确保wordpress可以在admin部分的永久链接选项卡下写入(权限)到您的.htaccess文件。

+0

但这意味着如果有人去sitedomain.com/taxonomy1/term它将使用最适用的归档页面 - 我不想。我希望用户被重定向到一个完全不同的页面。 – 2012-07-25 11:18:54

+0

你想要一个页面,即'page.php'来处理你的所有分类请求? – Mwayi 2012-07-25 11:26:36

+0

我有一个页面设置用于处理URL查询。 我想要做的就是使用URL查询将用户从默认分类页面重定向到我的页面。 – 2012-07-25 11:55:03

0

如果你需要一个重定向功能,页面上的任何地方工作,没有任何头重定向问题这一功能添加到您的functions.php

function once_no_wp_redirect ($page_id, $form_id) { 
echo '<form method="post" id="' . $form_id . '" style="display: none;" action="'. get_permalink ($page_id) .'"> 
<input type="submit" /> 
</form>'; 
echo '<script>document.getElementById("' . $form_id . '").submit();</script>'; 
} 

代替wp_redirect()使用once_no_wp_redirect()

另外,您可以通过向表单添加更多输入字段来将变量传递到目标页面。示例:成功注册表单提交后,使用wp_login_url()作为重定向url自动登录用户。

如果您有任何改进,请随时发表评论。