什么时候在wordpress中执行index.php?

时间:2016-11-28 06:49:32

标签: php wordpress apache

我在wordpress安装的根index.php中有这段代码

define('WP_USE_THEMES', true);

file_put_contents("/tmp/test.php", print_r($_SERVER, true));

/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );

我注意到如果我注释掉最后一行,那么它就变成了

define('WP_USE_THEMES', true);

file_put_contents("/tmp/test.php", print_r($_SERVER, true));

/tmp/test.php中打印的数组是不同的! 该数组具有诸如

之类的值
[HTTP_COOKIE] => pll_language=en
[REQUEST_URI] => /site_front_page/

为什么?但是应该写入文件/tmp/test.php的代码放在代码

之前
require( dirname( __FILE__ ) . '/wp-blog-header.php' );

在这两种情况下?

编辑:1 例如,REQUEST_URI应该只是

[REQUEST_URI] => /

1 个答案:

答案 0 :(得分:0)

似乎有多个index.php请求。第一次向站点根目录发出请求(在完成任何重定向之前)

  [REQUEST_URI] => /

将数组写入文件即可。但是,在wordpress在下一段代码中进行重定向之后:

/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );

并决定实际的主页是什么,然后第二次请求到网站但现在到网址:

[REQUEST_URI] => /site_front_page/

此时,我们覆盖写入/tmp/test.php的第一个数组。

这就是原因。