重定向循环的奇怪行为-涉及WPML多语言插件

时间:2011-02-07 作者:Travis Northcutt

我的(客户)网站位于http://internationalgateway.us/. 我们正在使用WPML Multilingual CMS 插件。当从主页选择另一种语言时(在本例中为法语,因为这是唯一启用的语言),我会遇到重定向循环。这也可以通过参观体验http://internationalgateway.us/fr. 似乎在url中添加了额外的尾部斜杠,从而触发循环。然而,向网站上的任何其他url添加额外的尾部斜杠并不会导致相同的行为-它只会导致重定向到没有斜杠的页面。

我理解这可能仅仅是一个插件问题,但我怀疑不是,因为该站点以前运行良好。我想知道这是否是permalinks和/或的问题。htaccess规则。当前,我的永久链接设置为/%category%/%postname%/, 以及的内容。htacess文件如下:

# 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

2 个回复
最合适的回答,由SO网友:Travis Northcutt 整理而成

我发现问题是WPML插件和Yoast WordPress SEO插件之间不兼容。具体来说,在SEO插件中启用“重定向丑陋URL以清除永久链接”设置会导致重定向循环。我已经联系了插件作者,告知他们不兼容的情况,并将尝试通过这两个插件来帮助解决问题。

SO网友:hakre

您的站点配置错误,但从远程位置很难说出具体位置。对于重定向,它是这样的:

请求http://internationalgateway.us/frhttp://internationalgateway.us/fr//http://internationalgateway.us/fr//http://internationalgateway.us/fr/http://internationalgateway.us/fr/这是页面创建的已展开重定向循环。

要对此进行调试,可以使用名为curl:

# curl -i http://internationalgateway.us/fr/
HTTP/1.1 301 Moved Permanently
Date: Mon, 07 Feb 2011 22:42:24 GMT
Server: LiteSpeed
Connection: close
Set-Cookie: _icl_current_language=fr; expires=Tue, 08-Feb-2011 22:42:24 GMT; path=/
X-Pingback: http://internationalgateway.us/xmlrpc.php
Content-Type: text/html; charset=UTF-8
Location: http://internationalgateway.us/fr//
Content-Length: 0
这看起来不像是服务器配置错误,因为这些重定向是由wordpress触发的。

我已经在这里介绍了一些wordpress重定向调试技巧:Infinite loop problem with the WordPress MU Domain Mapping plug-in. Firefox插件可防止自动重定向NoRedirect 1.2.4 Toolpress Strict Edition (Firefox Add-On) 还有一个WordPress插件,可以很容易地通过黑客攻击将调试信息添加到重定向:Better HTTP Redirects (Wordpress Plugin). 可能那里的信息和这些工具有助于您找到触发重定向的插件/代码。

作为快速拍摄,如果Normalize URLs (Wordpress Plugin) 有帮助,但我认为不是直接针对你的情况。但它可能对你有普遍的用途。

结束

相关推荐

Slug is redirecting to 404

我有一个页面叫做菜谱。我将其更改为Recipes\\u old并更改了slug,以便创建一个新的Recipes页面。当我创建新配方页面时,slug被正确定义为/Recipes/但我无法访问该页面,WordPress正在将所有请求重定向到/Recipes\\u old/如何删除重定向?我已经删除了Recipes\\u old和Recipes。不过,slug仍在重定向。