我在wordpress安装的root 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] => /
解决方法:
看来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的第一个数组.
这就是为什么.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。