我已经让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
最合适的回答,由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而不是页面名称是个问题。