加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > wordpress > 正文

wordpress工作原理

发布时间:2020-12-14 14:41:33 所属栏目:wordpress 来源:网络整理
导读:WP初始化的过程:当你输入 /wordpress对wordpress进行初始化时,wordpress默认会找根目录下的index.php页面,看一下index.php页面。 你会发现,它会去调用根目录下的wp-blog-header.php,我们继续看wp-blog-header.php。 通过wp-load.php,wordpress先后把wp
WP初始化的过程:当你输入/wordpress对wordpress进行初始化时,wordpress默认会找 根目录下的index.php页面,看一下index.php页面。
你会发现,它会去调用根目录下的wp-blog-header.php,我们继续看wp-blog-header.php。

通过wp-load.php,wordpress先后把wp-config.php,wp-setting.php,classes.php,fucntions.php, query.php等文件加载进来,并建立了三个全局变量,$wp_the_query,$wp_rewrite和$wp,分别为WP_Query,

WP_Rewrite和WP类的实例。然后,wp-blog-header执行wp()函数,并通过其调用$wp所属WP类的main方法,

这个方法又调用一系列方法,但最重要的是parse_request方法,WP从这里开始解析URL并建立主循环。 我们看一下wordpress的主方法:

这基本上就是wordpress初始化时的信息。

下面就讨论一下当我们设置自定义的永久链接时,wordpress的运作过程。 当我们使用了自定义的永久链接的时候,wordpress会自动生成.htaccess文件,并且在这个文件中生成相

对应于永久链接的匹配规则,在wordpress/wp-includes/rewrite.php中有针对.htaccess文件的重写规则,其

中$use_verbose_rules参数规定了输出信息的详尽和简约,默认的情况下为false。输出的信息比较简单,

如下

<div class="cnblogs_code">


<span style="color: #008000;">#<span style="color: #008000;">?BEGIN?WordPress<span style="color: #008000;"><span style="color: #000000;"><<span style="color: #000000;">IfModule?mod_rewrite<span style="color: #000000;">.<span style="color: #000000;">c<span style="color: #000000;">><span style="color: #000000;">RewriteEngine?OnRewriteBase?<span style="color: #000000;">/<span style="color: #000000;">RewriteCond?<span style="color: #000000;">%<span style="color: #000000;">{REQUEST_FILENAME}?<span style="color: #000000;">!-<span style="color: #000000;">fRewriteCond?<span style="color: #000000;">%<span style="color: #000000;">{REQUEST_FILENAME}?<span style="color: #000000;">!-<span style="color: #000000;">dRewriteRule?<span style="color: #000000;">.<span style="color: #000000;">?<span style="color: #000000;">/<span style="color: #000000;">index<span style="color: #000000;">.<span style="color: #000000;">php?[L]<span style="color: #000000;"></<span style="color: #000000;">IfModule<span style="color: #000000;">><span style="color: #000000;"><span style="color: #008000;">#<span style="color: #008000;">?END?WordPress

如果想查看完整的匹配规则,就把$use_verbose_rules设置为true。 wordpress在对使用了自定义的永久链接进行处理时,它还是会调用wp-include/classes.php文件中

的parse_request函数,对发过来的请求进行解析,无论是否为pathinfo类型的请求,都会被赋值给

$request参数,然后调用该参数与.htaccess中的规则进行匹配,如果找到一个匹配就会“发送头信息”

、“查询日志”,如果没有任何匹配就会返回404错误。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读