我真的在和一些事情斗争。我正在尝试将我的网站从www.改为非www,并将http://改为https://
我已经更新了“选项常规”中的设置。php(WordPress Address (URL) 和Site Address (URL)). 这两个版本都使用非www版本,也使用https://now。
我还更新了中的cookie设置wp-config.php:
define( \'COOKIE_DOMAIN\', \'mysite.co.uk\' );
我可以在https和非www版本上访问wp管理员。但是,索引。php只是想让我进入无限循环,重新加载主页,直到浏览器放弃为止。我真不敢相信这有多困难!
有人对尝试什么有什么建议吗?到目前为止,我已经花了3个小时,在一些本该花上几分钟的事情上。
不管怎样,我已经禁用了所有插件(以防其中一个插件很奇怪),但仍然不起作用。
可能值得一提的是,作为编辑索引,这将是一个WP问题。如果我将以下内容放在php中,则php工作正常:
<?php
/**
* Front to the WordPress application. This file doesn\'t do anything, but loads
* wp-blog-header.php which does and tells WordPress to load the theme.
*
* @package WordPress
*/
/**
* Tells WordPress to load the WordPress theme and output it.
*
* @var bool
*/
define(\'WP_USE_THEMES\', true);
echo header();
echo "FOO";
UPDATE: 有趣的是,我想我只需要浏览一下代码,看看哪里出了问题。它到达/wp includes/template loader。php,然后进入循环:
do_action( \'template_redirect\' );
。。。我不知道那之后会发生什么?(尝试并调试更多)
UPDATE 2: 我刚刚安装了这个插件:https://wordpress.org/support/plugin/debug-wp-redirect/ . 它非常古老,但它向我展示了重定向的来源:
Debug WP Redirect
Location: https://mysite.co.uk/
Status: 301
Backtrace:
File: /home/rachel/web/mysite.co.uk/public_html/wp-includes/class-wp-hook.php
Line: #298
Function: redirect_canonical
Arguments:
array(1) {
[0]=>
string(27) "http://mysite.co.uk/"
}
我只是不知道为什么它会失败(在这里使用http而不是https,我想这就是循环的来源)
UPDATE 3: 我不知道为什么,但这只发生在主页上!
http://www.foo.co.uk/wires-eyewear/
http://foo.co.uk/wires-eyewear/
https://www.foo.co.uk/wires-eyewear/
https://foo.co.uk/wires-eyewear/
一切正常。但是:
http://www.foo.co.uk
http://foo.co.uk
https://foo.co.uk/
http://foo.co.uk
。。。所有人都陷入了一个无限循环。恩,这太令人沮丧了!
UPDATE 4: 我成功地获得了堆栈跟踪,但我不知道发生了什么。
PHP message: File: /home/rachel/web/ladympresents.co.uk/public_html/wp-includes/class-wp-hook.php
PHP message: Line: #298
PHP message: Function: debug_wp_redirect
PHP message: Arguments:
PHP message: array(2) {
[0]=>
string(28) "https://ladympresents.co.uk/"
[1]=>
int(301)
}
PHP message:
PHP message: File: /home/rachel/web/ladympresents.co.uk/public_html/wp-includes/plugin.php
PHP message: Line: #203
PHP message: Class: #WP_Hook
PHP message: Function: apply_filters
PHP message: Arguments:
PHP message: array(2) {
[0]=>
string(28) "https://ladympresents.co.uk/"
[1]=>
array(2) {
[0]=>
string(28) "https://ladympresents.co.uk/"
[1]=>
int(301)
}
}
PHP message:
PHP message: File: /home/rachel/web/ladympresents.co.uk/public_html/wp-includes/pluggable.php
PHP message: Line: #1181
PHP message: Function: apply_filters
PHP message: Arguments:
PHP message: array(3) {
[0]=>
string(11) "wp_redirect"
[1]=>
string(28) "https://ladympresents.co.uk/"
[2]=>
int(301)
}
PHP message:
PHP message: File: /home/rachel/web/ladympresents.co.uk/public_html/wp-includes/canonical.php
PHP message: Line: #516
PHP message: Function: wp_redirect
PHP message: Arguments:
PHP message: array(2) {
[0]=>
string(28) "https://ladympresents.co.uk/"
[1]=>
int(301)
}
PHP message:
PHP message: File: /home/rachel/web/ladympresents.co.uk/public_html/wp-includes/class-wp-hook.php
PHP message: Line: #298
PHP message: Function: redirect_canonical
PHP message: Arguments:
PHP message: array(1) {
[0]=>
string(31) "http://www.ladympresents.co.uk/"
}
PHP message:
PHP message: File: /home/rachel/web/ladympresents.co.uk/public_html/wp-includes/class-wp-hook.php
PHP message: Line: #323
PHP message: Class: #WP_Hook
PHP message: Function: apply_filters
PHP message: Arguments:
我认为,随着www.被从URL中删除,这将是一个更大的问题。我只是不明白为什么。我禁用了每一个插件,我已经完全迁移了DB(我甚至尝试使用插件搜索和替换DB,并用新的URL替换旧的URL),但主页仍然不起作用!要么是我偶然发现了一个主要的bug,要么是其他什么在起作用。这就是让我困惑的地方:
PHP message:
PHP message: File: /home/rachel/web/ladympresents.co.uk/public_html/wp-includes/class-wp-hook.php
PHP message: Line: #298
PHP message: Function: redirect_canonical
PHP message: Arguments:
PHP message: array(1) {
[0]=>
string(31) "http://www.ladympresents.co.uk/"
}
URL在这一部分是完美的,然后它会随机将其更改回
http://
, 但也添加了
www.
再咬一口!
UPDATE 4: 所以情节变厚了!现在的问题是,在主页中使用自定义页面时!
如果我更改Front page displays 至“Front page displays“(代替”A static page (select below)“,然后它就工作了……但很明显,我的主页看起来很垃圾,上面没有我们需要的东西。我用不同的主题测试了这个,它们都有相同的问题。啊!