2014-03-19 54 views
1

我的問題是在我的WordPress的網站只有默認的永久鏈接工作..當我改變永久鏈接時,所有網頁變得沒有找到..只有主頁顯示。只默認永久鏈接工作wordpress其他人成爲404錯誤

當我改變永久鏈接postname的.htaccess內容變化

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress 

而對於默認情況下它是

# BEGIN WordPress 

# END WordPress 

還嘗試了mod_rewrite的狀態使用該

in_array('mod_rewrite', apache_get_modules()) 

它返回1,mod_rewrite在我的服務器上啓用,並使用phpinfo()進行檢查。 mod_rewrite模塊被加載..我已經通過互聯網上所有可用的文件..請幫我解決這個問題..我的託管服務器是godaddy ..

回答

0

轉到永久鏈接設置頁面,並選擇「默認」選項和保存更改。現在測試你的問題是否得到解決。

+0

這將解決這個問題。但我需要改變SEO – Girish

+0

固定鏈接結構選擇郵政名稱選項並保存。現在重新檢查。我希望你的問題能夠解決。但我建議你先嚐試我的初步答案,然後嘗試一下。 –

+1

是的,它的默認永久鏈接工作..對於其他選項,它會返回除主頁以外的所有頁面的404錯誤...請閱讀問題,並瞭解問題..我不問這是如何設置wordpress中的永久鏈接.. – Girish

1

它可能是數據庫中的一個破損的rewrite_rules字段。

我將「Yoast SEO」安裝到了一個活網站,並且完全打破了它。我禁用了插件,但它沒有回去工作。只有默認的永久鏈接纔有效。

像其他人一樣,我嘗試了平常的事情 - 檢查.htaccess,確保mod_rewrite在服務器上工作,再次保存永久鏈接設置,但沒有任何工作。該主頁將加載,並將加載wp-admin頁面,但其他一切只是加載「最新的帖子」默認頁面。

最後事實證明,在數據庫中的rewrite_rules字段wp_options的結果是錯誤的。

我有三個版本的網站(本地,分期和製作),都來自一個SVN基地,所以我知道這不是一個文件問題。但只有本地開發版本正在工作。

我用我的本地開發網站上的工作文件替換了破損的活動網站的rewrite_rules字段的內容,它工作正常。

真的很奇怪的是,刪除rewrite_rules字段和WordPress重建它並沒有解決問題。只有替換以前工作的網站版本的內容才能做到這一點。

我仍然對此感到困惑,如果我發現有關該問題的更多信息,將編輯此答覆。

0

不確定這是爲時已晚。我面臨着同樣的問題,並在/etc/apache2/sites-enabled/000-deafult.conf文件通過改變

AllowOverride None 

解決了

AllowOverride All 

。希望這會有所幫助。

+0

在000-deafult.conf文件中,我沒有找到AllowOverride None和AllowOverride All –

0

我有相同的問題,並通過運行

sudo a2enmod rewrite 

固定它後再重新啓動Apache的。顯然這個問題是由mod_rewrite在ubuntu上可能無法正常工作引起的。

我找到了解決辦法here