2009-09-29 138 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