2009-09-29 137 views
1

我正在帮助朋友从外包wordpress网站的混乱中恢复导致他(错误#1),我有这个奇怪的错误。他使用的托管似乎将www.domain.com自动重定向到domain.com(NFI为什么),这在除IE以外的每个浏览器都能正常工作(我知道是正确的!)。因此,添加第一个重定向,直到我添加了固定链接重定向。现在,当IE浏览器访问像http://www.domain.com/?p=520这样旧的wordpress链接时,重定向失败。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] 

我用的wget测试了这一点,并抱怨:

ERROR: Redirection (301) without location.

所以它很可能是IE从同样的错误痛苦(不含有用的错误消息)。但我不知道如何解决这个问题。我希望他会改变托管公司,但我们会看到。在此期间有什么想法?

+0

最可能的是,这只是一个错字,但只是要确定:在第一重写规则,有“doman.com”,没有我。 – 2009-11-07 22:57:14

回答

0

你或许应该

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

在第一个重写规则?现在尝试。 – 2009-09-29 23:59:02

+0

不行不行。感谢您的建议! – 2009-09-30 00:05:27

+0

所以,如果我正确地理解这个问题..当IE去http:// www。domain.com/?p=520 ..它只是停留在那个网址上?如果有其他浏览器转到该页面,那么他们将被重定向到http://domain.com/?p=520? – 2009-09-30 00:32:49

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 /冲洗的DNS

对于任何其他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代码的一切。

好运:)

+0

thnx为出色的答案。这些都没有帮助,恐怕我已经得出结论,主持人出了问题,并且已经投入了支持票。手指划过,他们把它整理出来,我建议这个朋友在任何情况下移动主机,因为这不是我以前见过的。再次感谢! – 2009-10-05 06:18:36