我在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] => /
答案 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的第一个数组。
这就是原因。