2009-08-31 20 views
0

我接手了一個基於HTML的舊站點,其中包含所有硬編碼鏈接,沒有框架等。知道有多少頁面鏈接到abc.html(< --example)的Theres。html網站中的質量改變鏈接

我已經被要求瀏覽頁面並將abc.html鏈接更改爲123.html(另一個示例爲<)。

我可以通過FTP下載整個站點,然後使用find和replace來遍歷所有文件,然後上傳更改。

問題是該網站組織不良,並且嵌套嚴重,因此可能需要下載幾百毫克的垃圾才能確保。

另一種選擇是改變abc.html的HTML代碼,放在類似

我們感動,你目前正在 重定向。

並使用某種重定向。

任何人有任何其他想法如何做到這一點?

回答

0

我提出,含有使用

grep -lir "some text" * 

舊鏈路(從上面取comandlinefu.com

我然後使用下面的命令相應替換所有的匹配的文本中的所有文件的列表。

find . -name '*.html' -exec sed -ir 's/old/new/g' {} \; 

(也commandlinefu.com拍攝)

我用了sed的版本,因爲它創建的HTML文件的備份和命名了其中* .htmlr

並不理想,因爲我現在有更多的垃圾,但我可以很容易地

rm *.htmlr 
2

爲什麼不使用Actual Search and Replace這樣的軟件?

+0

看起來像它的工作將其刪除,但是,我必須安裝FTP服務器作爲一個本地目錄 – shaiss 2009-08-31 20:46:37

+0

或者本地下載文件,是的。這是一個大問題嗎? – marcgg 2009-08-31 20:47:42

+0

這是因爲服務器上有很多舊垃圾,我不想篩選。實際搜索和替換似乎工作。我在wine下運行它,並使用curlftpfs將ftp服務器安裝爲本地FS。速度很不錯,幾乎完成了所有的文件。它看起來會起作用。一旦它發生,我會將其標記爲答案 – shaiss 2009-08-31 21:12:17

2

您需要在舊鏈接上返回HTTP 301 Moved Permanently,以便搜索引擎知道內容已經移動並且不會消失。

+0

感謝您的提示,我會記下這一點。 – shaiss 2009-08-31 21:13:11

+1

對於SEO(搜索引擎優化),您應該這樣做。 – Martin 2009-09-01 00:42:08