Wordpress重写重定向失败

时间:2009-09-29 13:22:17

标签: php apache wordpress http-status-code-301

我正在帮助一位朋友从乱七八糟的外包中恢复一个wordpress网站造成他(错误#1),我有这个奇怪的错误。他正在使用的托管似乎是自动将www.domain.com重定向到domain.com(NFI why),除了IE之外的每个浏览器都能正常工作(我知道对了!)。因此,添加固定的第一个重定向,直到我添加永久链接重定向。现在,当IE进入像http://www.domain.com/?p=520这样的旧wordpress链接时,重定向失败。

RewriteEngine On
RewriteBase /

# Rewrite rule for wierd redirect issue
RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteRule ^/?(.*)$ "http\:\/\/doman\.com\/$1" [R=301,L]

# Rewrite Rule for Wordress Permalinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

RewriteEngine On RewriteBase / # Rewrite rule for wierd redirect issue RewriteCond %{HTTP_HOST} ^www.domain.com$ RewriteRule ^/?(.*)$ "http\:\/\/doman\.com\/$1" [R=301,L] # Rewrite Rule for Wordress Permalinks RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]

我用wget测试了它,它抱怨道:

ERROR: Redirection (301) without location.

因此,IE似乎可能遭受同样的错误(没有有用的错误消息)。但我不知道如何解决它。我希望他能转换托管公司,但我们会看到。在此期间有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我会回答为什么“www.domain.com”是“domain.com”, 第三方开发者必须属于deprecated www movement

基本上,它不应该影响任何浏览器。我建议您重置缓存并刷新您的DNS。

尝试删除:

# Rewrite rule for wierd redirect issue
RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteRule ^/?(.*)$ "http\:\/\/doman\.com\/$1" [R=301,L]

重新上载然后查看它是否正常工作。如果没有,请删除缓存。刷新以查看它是否正常工作。如果仍然没有,请尝试刷新DNS。

如果您使用的是Windows,则可以从命令提示符中刷新DNS。

以下是我采取的步骤:

  1. 开始
  2. 运行
  3. Cmd的
  4. ipconfig / flush-dns
  5. 对于任何其他O.S.我不确定如何刷新DNS。

    我在切换域名主机时通常会采取这些预防措施,但这可能与域名相关。希望有所帮助。

    我还想补充一点,常规的Wordpress .htaccess文件如下所示:

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

    因此,如果所有其他方法都失败了,只需使用基本的Wordpress .htaccess代码替换所有内容。

    祝你好运:)

答案 1 :(得分:0)

您应该尝试使用

RewriteRule (.*) http://domain.com/$1 [R=301,L]