最近我对帖子的Wordpress结构感兴趣。
他们使用名为( wp_posts )的表格,在此表格中他们保存了3个相关字段,例如:
post_title
post_name
guid
很明显,他们在 post_title 字段中保存每个故事的标题, 和slu strong post_name , 提交公会中的帖子的完整网址。
但是到底哪里,他们会在浏览器中重写这些网址:
这没有htaccess规则!
我检查了rewrite.php并且不明白一寸?!
我需要创建类似的页面,我应该采取什么步骤!?
答案 0 :(得分:5)
.htaccess文件有一个重写指令,可以将所有请求发送到index.php。重写指令告诉Web服务器将原始请求传递到其他位置而不重定向。因此,index.php接收所有原始参数,包括请求路径(主机名后面的URL部分,例如“/ about /").
当index.php收到请求时,它就像一个前端控制器,找出如何根据URL做出响应。
我从来没有看过WordPress的内部工作原因,所以我不能确切地说它们是如何实现的,但index.php的一般想法是:
答案 1 :(得分:0)
如果您查看WP_Rewrite
课程,将会解释很多问题。
基本上,正如大多数人所说的那样,.htaccess
只是将所有未解析为服务器上的实际文件或文件夹的URL重写为index.php
。
WordPress将URL映射到重写规则列表,这是一组键和值。键是正则表达式,值将back references映射到参数字符串。
例如,一个重写规则是;
category/(.+?)/page/?([0-9]{1,})/?$' => 'index.php?category_name=$matches[1]&paged=$matches[2]'
然后,课程WP
和WP_Query
一起获取参数并处理请求。