这些是保留关键字
当您访问WordPress博客时,您有:
blogindexpage/?queryvariables=queryvalues
因此,对于搜索请求:
example.com/?s=searchterm
对于ID为12的帖子/页面:
example.com/?p=12
etc等
Pretty permalinks通过使用正则表达式将好看的URL映射到它们的等效URL来隐藏所有这些。但这并不能阻止某人继续这样做,例如:。
tomjn.com/?s=query_posts
仍然会在我的网站上搜索“query\\u posts”,即使我添加了很多永久链接。
WP\\U查询文档中列出的所有查询变量也是如此。这些变量被添加到查询WordPress运行中,选择的模板和加载的帖子取决于这些查询变量
那么我该如何解决我的问题呢
不要使用保留关键字和查询变量来命名post变量。或者更好的是,使用POST而不是GET来提交表单,尤其是在涉及电子邮件和提交的情况下(想象一下,如果我访问了该页面并刷新了20次,或者在我的选项卡中打开了该页面并在几天内关闭并重新打开了我的浏览器?)
既然您已经声明不能更改“name”,我建议您在htaccess中添加类似的内容:
RewriteCond %{QUERY_STRING} (.+?)&name=(.+)
RewriteRule ^thank-you/ /thank-you/?%1&fullname=%2 [R,NC,L]
As described here, 这将把“name”重写为“fullname”GET参数。