之后的一切?
被视为查询字符串的一部分。之前的一切?
是相当永久的规则的一部分,也就是重写规则。
然后处理重写规则以生成查询变量。然后将它们插入查询(为主循环供电),并基于此查询加载模板。
在?
在URL中可以用来添加新的查询变量,或者只是简单地获取变量。
所以sitename.com/123/wrong-words?some=params&etc=etc
实际上只是sitename.com/123/wrong-words
就重写规则系统而言。重写规则也由正则表达式支持,用于匹配博客文章的正则表达式取决于您的永久链接的配置方式。
因此,从sitename.com/123/correct-full-postname
和sitename.com/123/correct-full-postname/somemistakeword/
, 因为唯一的区别是斜杠,所以它们被认为是等价的。也可能会对URL进行一些处理,并且有一个规范的URL重定向例程,该例程非常复杂,在WP Core中范围很大。
至于为什么sitename.com/123/correct-full-postname/somemistakeword
不重定向到sitename.com/123/correct-full-postname
, 这是因为他们不一样,在sitename.com/123/correct-full-postname/somemistakeword
. 有重写规则sitename.com/123/correct-full-postname/2
又名该帖子的第2页,以及其他特定端点,如sitename.com/123/correct-full-postname/feed
等
但如果我们实现了这样一个功能,它就不会那么简单了,例如,如果我们访问此页面会发生什么:
sitename.com/parentpage/childpage
它会:
显示子页面将您重定向到父页面作为旁注,我的博客位于:
http://tomjn.com/2015/05/07/escaping-the-unsecure/
如果删除尾部斜杠,它将重定向到带有尾部斜杠的版本。如果我在末尾附加随机字符,我会得到一个404