2011-10-27 136 views
5

我有一個動態PHP網站,我需要將其轉換爲靜態網站以提供給客戶端。我用wget來拉取文件,它完全符合我的需要。唯一的問題是..my鏈接之前(谷歌索引的)沒有文件擴展名。我使用.htaccess來擺脫.php文件擴展名。PHP網站轉換爲靜態HTML網站 - 鏈接問題

所以我的URL的一個應該是這樣的: http://www.domain.com/about/

當我拿到網站的靜態版本,它改變了我所有的鏈接, .html

這可能是好的,因爲我可以使用htaccess來擺脫該文件擴展名,所以我所有的鏈接將與以前一樣。那麼,每個頁面中的所有內部鏈接都鏈接到.html版本。

有沒有一種方式與htaccess指導用戶,如果他們去about.html它會帶他們到約沒有擴展?所以我所有的內部鏈接仍然會工作?

或者是否有任何其他建議,你們可能會有如何處理?

這裏是wget的代碼我使用:

wget -k -K -E -r -l 10 -p -N -F -nH http://www.domain.com/ 

我怎樣才能像輸出.php文件,而不是HTML嗎?

謝謝!

回答

5

您可以添加到您的.htaccess:

RewriteRule ^([^\.]+)$ $1.html [NC,L] 

摘自:http://www.sicanstudios.com/how-to-remove-php-html-htm-extensions-with-htaccess/

+0

真棒,謝謝。那可行。一個簡單的問題,我有兩種形式,需要.php而不是.html。你知道如何使用Wget嗎?我需要輸出所有文件爲.php而不是.html - 我用我使用的代碼更新了我的問題。 – Drew

+0

那麼,你使用的'-E'標誌是'--html-extension'標誌的別名,所以這就是爲什麼它將文件名改爲'.html'。如果你刪除它,它應該保留擴展名。但是,您不會使用wget獲取php代碼,那麼您爲什麼需要.php擴展名? – swatkins

+0

因此,我可以手動將PHP代碼片段添加到我需要的兩個頁面中,並且它們已經具有.php擴展名,因此所有通過其他頁面的鏈接都不需要更改。謝謝! – Drew