2012-03-19 44 views
1

我從第三方移動到一個內部IP的網站。移動WordPress的網站 - 獲取404錯誤

我解壓安裝WP和進口的MySQL數據庫和運行這些查詢:

UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl'; 

UPDATE wp_posts SET guid = replace(guid, 'http://olddomain.com','http://newdomain.com'); 

UPDATE wp_posts SET post_content = replace(post_content, 'http://olddomain.com', 'http://newdomain.com'); 

我可以看到我的新的index.php,甚至登錄到管理部分,但我不能讓任何的鏈接在頁面中。我收到404錯誤。管理頁面正確列出了新域。

我可能會錯過.htaccess或rewite規則,我不知道該怎麼做。

任何建議將不勝感激。

+0

您可以在http://wordpress.stackexchange.com/ – adlawson 2012-03-19 01:14:52

+0

.htaccess找到更多與WordPress特定問題相關的運氣。你可以發佈嗎? – Shoe 2012-03-19 01:21:48

回答

3

這可能是一個永久性問題。

從管理面板檢查Permalink選項,並將它們與鏈接進行比較以查看它們是否正確可能會有所幫助。

4

是的,它可能是你的.htaccess文件。你應該嘗試更新Wordpress管理中的永久鏈接。將永久鏈接切換到不需要.htacess文件的默認鏈接,然後將它們切換到您要使用的鏈接。這通常適用於我。

+0

謝謝。我試着這樣做,頁面變得可見。我的初始設置是/%postname%/。當我將其設置爲默認值時,頁面可見,但網址看起來像http://10.1.1.131/?page_id=7而不是http://10.1.1.131/about。我如何使URLS看起來像http://10.1.1.131/about?非常感謝您的幫助 – champak 2012-03-19 02:49:47

+1

如果您將其更改回初始設置,他們應該再次工作。如果這並不意味着你的.htaccess文件有問題。這可能是因爲該文件沒有正確的權限,或者mod_rewrite模塊可能未在apache中啓用。 – Gohn67 2012-03-19 04:06:45

0

移動數據庫(wordpress和其他人)時通常會做的事情是用文本編輯器打開數據庫轉儲,並用新的文件系統路徑和舊的URL搜索/替換舊文件系統路徑的所有實例與新的網址。這將確保您不會錯過任何表或列。如果數據庫太大而無法用文本編輯器打開,那麼我編寫一個簡單的腳本來解析它並進行替換。然後,替換後,我做導入。

0

感謝您的幫助。我得到了我的解決方案,從這裏..

http://www.virtualmin.com/node/17048

+0

雖然這可能在理論上回答這個問題,[這將是更可取的](http://meta.stackexchange.com/q/8259)在這裏包括答案的基本部分,並提供供參考的鏈接。 – 2012-03-20 12:27:25

+0

有趣,一個drupal站點回答wordpress問題 – 2014-04-13 13:40:15

1

只要打開你的永久鏈接頁面設置下,然後再次保存。 這應該可以解決大多數情況下的404錯誤。

0

您是否將網站移至Windows Server?

如果您能夠看到主頁或管理員主頁,但在遷移到Windows Server時收到404錯誤,請按照以下步驟操作。

該網站需要一些子目錄的重定向才能正確解析請求。以下htaccess規則需要從URL重寫模塊導入。

# BEGIN WordPress 

RewriteEngine On 

#RewriteBase/

RewriteRule ^index\.php$ - [L] 

# uploaded files 

RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L] 

# add a trailing slash to /wp-admin 

RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] 

RewriteCond %{REQUEST_FILENAME} -f [OR] 

RewriteCond %{REQUEST_FILENAME} -d 

RewriteRule^- [L] 

RewriteRule ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L] 

RewriteRule ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L] 

RewriteRule . index.php [L] 

<IfModule mod_security.c> 

<Files async-upload.php> 

SecFilterEngine Off 

SecFilterScanPOST Off 

</Files> 

</IfModule> 

# END WordPress 

一旦將其粘貼到導入規則>重寫規則部分,在右上角點擊應用以創建URL重寫。您可以確認該網站正在按預期工作。如果您有任何其他問題或疑慮,請讓我們知道!