HTML Redirect to WP pages

时间:2014-01-23 作者:theflowersoftime

我有一些预定义的链接,需要重定向到WP安装中的真实URL。不幸的是,我别无选择,只能使用提供给我的这些URL。格式为:

http://mysite.com/redirect.html?p=pagename

WP安装在mysite的根目录下。com。我需要获取pagename查询变量,它不会与页面URL直接匹配,并将其重定向(301)到WP permalink。我尝试了几件事。htaccess具有重写功能,但运气不佳,这主要是因为还有WP permalinks重定向。

有人以前做过这件事,或者知道最好的方法吗?

更新-以下是我根据以下公认答案使用的工作代码:

RewriteCond %{REQUEST_URI} ^/redirect.html(.*)$  
RewriteCond %{QUERY_STRING} ^(.*?)&?p=page&?(.*?)$  
RewriteRule (.*) /page/?%1&%2 [L,R=301]
在重写基本WP之前,我还添加了这些。

1 个回复
最合适的回答,由SO网友:MikeNGarrett 整理而成

您可以在htaccess中添加类似的内容:

RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^redirect\\.html$ /%1 [L,R=301]
编辑:根据注释,您需要一些附加条件来对不同的查询字符串进行排序。

RewriteCond %{REQUEST_URI} ^/redirect.html(.*)$
RewriteCond %{QUERY_STRING} ^p=test$
RewriteRule (.*) /new-test/ [L,R=301]

RewriteCond %{REQUEST_URI} ^/redirect.html(.*)$
RewriteCond %{QUERY_STRING} ^p=pagename$
RewriteRule (.*) /new-page/ [L,R=301]
我还强烈推荐此站点用于测试htaccess:http://htaccess.madewithlove.be/

结束

相关推荐

Disable domain redirect

所需行为:http://www.situationware.com 应留在www.situationware.com, 无需注册。目前wordpress正在自动重定向到Amazon主机名ec2-107-22-241-162.compute-1.amazonaws.com, 如果我更新wp config,则请求用户注册。通过取消注释phpDOMAIN_CURRENT_SITE 我最终将循环重定向到http://situationware.com/wp-signup.php?new=situationware