1

我正在帮助一个朋友从外包 wordpress 网站造成的混乱中恢复过来(错误 #1),我遇到了这个奇怪的错误。他正在使用的主机似乎正在自动将 www.domain.com 重定向到 domain.com(NFI 为什么),这在除 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]

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

错误:没有位置的重定向 (301)。

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

4

2 回答 2

1

我会回答为什么“www.domain.com”是“domain.com”,第 3 方开发者一定是处于不推荐使用的 www 运动之下。

基本上,它不应该影响任何浏览器。我确实建议重置您的缓存和/或刷新您的 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. ipconfig /flush-dns

对于任何其他操作系统,我不确定如何刷新 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 代码。

祝你好运 :)

于 2009-10-04T04:09:12.117 回答
0

您可能应该尝试使用

RewriteRule (.*) http://domain.com/$1 [R=301,L]
于 2009-09-29T14:33:04.237 回答