WordPress的造成“此网页有重定向循环”错误远程(Wordpress causing “Thi

2019-08-07 13:43发布

我有一个在发展中(在很完善的WordPress站点mysite.dev ),但是当我把它部署到我的远程服务器( mysite.com )它抛出了“ 此网页有重定向循环 ”的错误。

我可以在浏览器试图www.mysite.com然后mysite.com然后www.mysite.com一而再,再而加载栏看到,但我不知道这是初步认识与否。

如果我的WordPress的数据库配置是不正确的,我得到的错误建立一个数据库连接信息,但是当一切都正确设置它在这个重新定向环路的东西打破。

我已经在数据库中(改场siteurl ),以反映远程设置( http://mysite.com/wordpress )。

注:我的WordPress的文件存储在一个文件夹,名为wordpress在我的根目录以外的wp-config.phpindex.php.htaccess

有任何想法吗?

的.htaccess内容:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

index.php文件:

<?php
/**
 * @package WordPress
 */
define('WP_USE_THEMES', true);

require('./wordpress/wp-blog-header.php');
?>

Answer 1:

我的托管服务器的设置被强制mysite.com以www.mysite.com,这是造成问题。 我把这个设置关闭,一切正常,现在,我仍想知道如何使它与此设置工作开启,但!



Answer 2:

我有完全相同的问题(迁移到新的服务器后重新定向环路)。

但它不与配置值SITEURL和家庭的问题 ,也不是它的.htaccess文件的问题。 我想这一切。 而且它也没有一个关于“WWW”问题添加到URL。

一些期试验研究后,我发现环路是通过向redirect_canonical功能无限调用(在WP-inclue / canonical.php)引起的。 但它不是从WordPress的一个bug。 一些PHP CONFIGS设置$ _ SERVER [“REQUEST_URI”]在一个“错误的方式”当你进入您的根URL。 例如:我的服务器上,当我去http://example.com/的$ _ SERVER [“REQUEST_URI”]设置为“的index.php”,而不是只是“/”这是混淆了redirect_canonical的,因为这个功能总是尝试重定向到它知道一个页面中的“更好”的网址。 并为您的网站的根目录下更好网址为“/”。 我的服务器上,每次redirect_canonical试图重定向到“/”失败,直到无限重定向循环被发现再次尝试。

要纠正这种错误,您可以修改服务器配置-我不personnaly知道该怎么做,但我知道这是可能的-或者,如果你不能改变它,只是在添加此代码自定义插件 :

/**
 * avoid redirection loop in redirect_canonical if REQUEST_URI 
 * contains '/index.php' 
 **/

/* remove the action set in the hook 'template_redirect' by wordpress */
remove_action('template_redirect', 'redirect_canonical');

/* set a custom action in the hook 'template_redirect' to check REQUEST_URI value */
add_action('template_redirect', 'correct_redirect_canonical');

/* Function to correct the behaviour of redirect_canonical */
function correct_redirect_canonical(){
    if(strstr($_SERVER['REQUEST_URI'],'/index.php')===false){
        redirect_canonical();
    }
}

希望能帮助到你 !



Answer 3:

1.-为“我的wordpress文件都存储在一个文件夹,名为WordPress的”你必须编辑RewriteBaseRewriteRule是这样的:

RewriteBase /wordpress/
RewriteRule . /wordpress/index.php [L]

UPDATE

2:尝试清洁所有的cookies。 这个简单的动作(通过萤火虫)有时解决了这个问题对我来说。

更新3

3.-试试这个的index.php在根目录下:

// index.php file in root directory
chdir('wordpress'); // change dir to WP
include 'index.php'; // execute WP with their normal `index.php`

和离开/wordpress目录如常(与他们的正常的index.php和htaccess的内侧)。

我的意思是不改变正常的任何一点index.php WP的 ,它是这样的:

<?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);

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


Answer 4:

请注意,也可以使用CloudFlare的灵活SSL时出现无限重定向问题。 要解决它,你需要安装以下插件:

https://wordpress.org/plugins/cloudflare-flexible-ssl



Answer 5:

您是否使用像一个插件重定向追踪URL变化? 这可能创造了一个循环,将其重定向到mysite.dev/page/和mysite.com/page/到mysite.com mysite.dev。 发生在我面前!



Answer 6:

可以在两个地方一个发生这种错误,在用户侧,或在管理方面。

当它发生在管理端(WP管理员),你会发现,你无法登录。

第1步:使用FTP连接到您的博客,然后导航至您的wp-content /插件/目录和所有的插件下载到桌面上的文件夹。 第3步:还是在你的FTP程序,删除了所有的插件文件夹和PHP文件中的插件目录。 你不想在所有留在此目录中任何东西。 第4步:尝试登录到您的博客。 它应该让你没有问题登录。 访问您的博客的插件部分。 这应该有很多错误,告诉你,每个插件已因错误而停用的加载。 还行吧。 第5步:使用FTP程序,你应该上传所有的插件。 上传完成后,你应该通过一个在WordPress激活每个插件之一,然后访问可湿性粉剂管理员/登录地址,以确保它会通过您通过您的博客登录后第6步:当您激活插件,并开始得到这个再次出错,你会知道哪一个是难辞其咎的。 简单地删除通过ftp该插件,并开始寻找替代的插件使用。

如果这些步骤无法解决您的问题,您应该备份您的所有的WordPress文件,然后删除它们。 你应该将它们上传最新版本的WordPress干净文件和尝试,没有上传主题或插件登录。 您可以上传这些后来一旦你可以登录。

如果继续收到错误,清除与其他浏览器浏览器缓存,测试记录。

如果一切都失败,请联系您的虚拟主机提供商或打开WordPress支持论坛上线



Answer 7:

首先,我只是一个初学者所以......同时,我认为,我可能有一种替代/快捷方式到这个问题。

不用删除每一个插件,然后将其全部重新安装一个接一个的,我建议删去持续插件启动,因为“怨恨问题=最近修改/插件” ......

这只是我的建议。

马尔科·达维德



Answer 8:

虽然我发现这个职位和解决方案的真正有用的,因为这个问题让我疯狂,我花了这么多的时间来实现。 在我的情况发生,因为我感动的文件在同一服务器内,但使用其他域名,并完成所有的配置和更换,我无法查看网页后,得到了这个错误。 在我的托管设置有其设置为domain.ltd提交了首选域(我试图改变它,但最后只剩下它的话),比设置- >通用 WordPress的仪表板我的WordPress地址(URL)“mysite.com”并设置为“www.mysite.com”网站地址(URL)设置一个值,而不www..bum后,现在一切正常。 希望这有助于任何人



Answer 9:

在我的情况,本地 - OPENSERVER。

这个问题出现在地址大写字母。 例如,在站点设置它http://local-Host ,它是大写字母导致问题,因为整个地址被减少为小写字母- http://local-host ,并作为结果$redirect_url来自不同$requested_url在canonical.php



Answer 10:

我有同样的问题,答案是.htaccess文件,并在那里重定向。 看来,主题/插件,我想用自己的代码相似,在WordPress网站的htaccess 。 我通过插件看了一下,发现它引用的代码,并改变了在htaccess文件。 现在,它的工作原理。



文章来源: Wordpress causing “This webpage has a redirect loop” error remotely