使用ADD_REWRITE_RULE保持请求/输入URL

时间:2012-03-01 作者:Denyo

我已经让url重写部分工作。我有一条规则:

add_rewrite_rule(\'^somepage/([^/]*)/([^/]*)/([^/]*)/?\',\'index.php?p=27&target=$matches[1]&arrival=$matches[2]&departure=$matches[3]\',\'top\');
当我请求这样的页面时:

http://yourpage.com/wp/somepage/florida/02-03-2012/03-03-2012/
访问者被重定向到:

http://yourpage.com/wp/somepage/
但我想保留原始url的附加参数。我怎样才能做到这一点?

我还注意到了其他一些事情。当我通过JavaScript从表单生成如上所述的链接时,尽管url是正确的,但我得到了“未找到页面”。现在,当我刷新同一个页面时,我会被重定向到上面提到的页面。为什么在第一次尝试时不起作用?

如果有任何帮助,我将不胜感激。

你好Denyo

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

好吧,我知道了。不使用此重写规则:

add_rewrite_rule(\'^somepage/([^/]*)/([^/]*)/([^/]*)/?\',\'index.php?p=27&target=$matches[1]&arrival=$matches[2]&departure=$matches[3]\',\'top\');
我现在用这个:

add_rewrite_rule(\'^somepage/([^/]*)/([^/]*)/([^/]*)/?\',\'index.php?pagename=somepage&target=$matches[1]&arrival=$matches[2]&departure=$matches[3]\',\'top\');
现在一切都像我希望的那样。显然,使用页面id而不是页面名称是个问题。

结束

相关推荐