2010-08-17 37 views
0

我最近將我的博客從一個serever移到另一個。我現在無法恢復我的永久鏈接結構。Wordpress permalinks broken

現在我的論文結構已經成爲/?p = 123。每當我嘗試將其更改爲任何其他自定義永久鏈接結構時,它會爲所有帖子引發404。檢查博客http://microreviews.org 我一直被迫將永久鏈接結構設置爲/?p = 123。所有來自搜索引擎的條目都是舊的結構/%postname%/

沒有一個插件似乎可以工作,而且我堅持使用?p = 123結構。

我該怎麼辦?

+0

您是否將您的.htaccess文件與其他站點遷移?這將是我的第一個猜測。這,或者.htaccess中的路徑因服務器不同而不同。 – Sampson 2010-08-17 05:56:27

+0

現在500錯誤,我複製.htacces文件從舊安裝到新 – 2010-08-17 08:31:51

+0

我檢查了您的網站,它似乎是你解決你的問題。我有同樣的問題。你做了什麼來解決這個問題? – panofish 2010-10-01 04:49:01

回答

3

假設你是Apache服務器:

  • 您不必在新服務器上的.htaccess文件,或
  • 新的服務器沒有mod_rewrite的打開,或
  • 新服務器忽略.htaccess文件,或
  • 使用.htacc上述:)
+0

現在,當我把舊安裝的.htaccess,我得到一個500錯誤。 – 2010-08-17 08:31:13

+1

檢查Apache的錯誤日誌。確保在httpd.conf(或者該虛擬主機的配置文件)中打開了mod_rewrite並將AllowOverride NOT設置爲None。 – robertbasic 2010-08-17 08:38:28

0

其他選項的任意組合,而不是ess(儘管Wordpress是圍繞修改該文件而構建的),您可以將.htaccess文件的內容添加到httpd.conf(或虛擬主機配置文件)中的指令中。這種方法需要更多的訪問你的apache安裝(即它可能不適用於某些託管解決方案),但根據Apache httpd文檔,它在服務器上更安全,工作量更少,因爲apache會每次掃描每個目錄的.htaccess文件頁面被訪問,並且每次訪問該頁面時都會重新加載.htaccess文件。如果訪問被放入服務器配置中,那麼它在apache啓動時(或在服務器重新加載時)加載一次,就是這樣。

例如: 如果你的.htaccess文件包含了/網絡/ htdocs中/ example目錄

AddType text/example .exm 

以下然後在你的httpd.conf文件以下將相當於

<Directory /www/htdocs/example> 
AddType text/example .exm 
</Directory> 

編輯主配置而不是.htaccess的方法不要求您將AllowOverride指定爲None以外的內容。

在這種情況下,您仍然需要爲固定鏈接啓用mod_rewrite才能正常工作。