小站日誌 2013 001 – 只剩首頁還在,所有的文章超連結全部無效

建站小日誌、狀況一

問題描述:突然就只剩首頁還在,所有的文章超連結全部無效,部分後台也無效,都會跑到主機預設的 404 頁面 (而不是你自定的 404 頁面)

推測原因:應該是因為我手動修改了 htaccess 後以 FTP 上傳,而我的站台有使用 Permalink (翻譯 固定連結、固定網址),所以,猜測是相關權限或語法錯誤的問題( 雖然不是非常了解原因及細節)。

參考文章: wordpress搬家小心.htaccess造成404錯誤  by AG’s blog

解決方案:強制更換別的 Permalink 的格式,然後再改回來,讓 WordPress 自己去處理相關的 htaccess 事宜,無論是權限還是內容,修正後就解決了。

另外看到這篇文章 :

【超省錢架站法7】如何設定WordPress的固定網址? by 香腸炒魷魚

則建議先把 htaccess 權限設定為777後再去改 Permalink ,改完後再設定回 644 。嗯..看起來很有道理,先記住!


建站小日誌,狀況二

有了上面的經驗,我便展開手賤之旅,準備按照理想打造安全的 htaccess 規則,我預定的新安全策略如下:

1. 用 htaccess 強化 wp-admin 資料夾內的安全

2. 用 htaccess 強化 網頁根目錄裡面的部份資料的安全(限制 htaccess 本身、wp-config)

3. 關閉佈景主題編輯 @ wp-config

並參考 Order Allow Deny語句配置實戰 by 現代魔法學院 ,準備撰寫 htaccess  內的 Allow,Deny 規則。

遇到問題一:

修改的 htaccess 傳上去後,幾乎全站掛點,通通跑到主機的 404 頁面,包含首頁也不能讀取,緊急上傳空白的 htaccess 回去也沒用,連404 頁面也沒了,網頁呈現無法連接的狀態,但 cPanel 跟 FTP 都還在。

經過驗證,可能是因為剛剛太多 404 記錄, IP 暫時被 000webhost 封住了 (所以擁有不同網域主機的 SSH 權限有很大好處,可以交叉比對,確認問題點)

遇到問題二:

重新撥號換個 Public IP 就可以連接首頁,但馬上又傻眼,因為 Better WP Security 設定的隱藏 wp-login.php 失效了,我是用  wp-login.php  進入後台的。

按照上述參考文章,先把 htaccess 權限放開,並從後台重新啟動  Better WP Security,以及重訂 Permalink 格式,整個站就回來了。

註‧後來才了解,就是因為我上傳了空白的 htaccess,所以那些 htaccess 裡頭修改 wp-login.php 別名的相關語句沒有了,隱藏功能自然也就失效了。


建站小日誌,狀況三

我仍想完成安全性部分,於是先下載 htaccess 回來。

真是驚訝萬分!原來 Better WP Security 、Permalink  功能分別寫了不少規則到裡頭去,上百行,仔細看看到很多剛剛在  Better WP Security 設定的功能,都在這裡用 htaccess 語法展現。

而最原先我的 htaccess 裡面都沒有這些內容!

這很有可能是安裝了 Better WP Security 後,因為不熟悉其原理是實作在 htaccess 內,而手動改過 htaccess 內容,導致部分規則沒有確實寫入。也就是說,之前 Blog 可以順利上線真是天大的幸運。當然也是天大的不幸,以不完全的權限規則上線,很可能敞開了許多大門而不自知,想到此不禁冷汗。

所以我打算養成習慣,以後調整  Better WP Security 、Permalink  時,htaccess  就暫時先改權限777,調整後再改回來。

同時,以 ftp 定期自動備份 htaccess ,以利觀察、除錯。


建站小日誌,狀況四

觀察後,發現我擬定的安全策略, Better WP Security 其實都幫我寫好了。

例如、隱藏 wp-login.php的功能, 他用 RewriteRule 實作,故使用者不必再手動設定 htaccess  。

很好,收工! 

You Might Also Like

2 Comments

  1. hank

    補充二、
    研究了一下,還是把限制 IP 的功能寫入 htaccess

    (1) 在 wp-admin 下,以 htaccess 限制IP 存取 wp-admin 資料夾。
    (2) 在根目錄下,以 htaccess 限制IP 存取 wp-login.php

    這樣,就比較少有人可以輕鬆找到後台的登入頁面以及後台的存取權限。

  2. hank

    補充一、
    經過研究,原來 Better WP Security 在後台的介面裡,其實已經有欄位給你預覽寫入 htaccess 的規則,欄位叫做 “重寫規則”,只是你自己要往下捲動頁面而已。
    此外,連 wp-config.php 的預覽也有。

Leave a Reply

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料