2014-05-10 32 views
0

我試圖用乾淨的URL創建一個WordPress站點的鏡像(即http://example.org/foo而不是http://example.org/foo.php)。當Wget鏡像站點時,它會給所有頁面和鏈接一個「.html」擴展名(即http://example.org/foo.html)。您是否可以使用Wget創建乾淨的URL?

是否可以設置Wget的選項來創建乾淨的URL結構,以便與頁面「http:example.org/foo」相對應的鏡像文件爲「/foo/index.html」,並且鏈接到那個頁面將是「http:example.org/foo」?如果是這樣,怎麼樣?

+0

你是否擁有你想要鏡像的原始網站?爲什麼不只是乾淨的網址開始?另外,你爲什麼要嘗試鏡像網站開始?爲了性能目的?爲什麼不只是在它前面有一個緩存代理? – thexacre

+0

是的,我擁有它。該WP網站確實有乾淨的URL,但我無法讓鏡像站點擁有它們。 這是一個實驗。目標是提高性能,安全性,簡單性和可維護性。我希望能夠在祕密URL中託管WP站點,並將靜態版本部署到某種類型的自動擴展CDN。由於面向公衆的站點只是靜態文件,因此安全風險很小,CDN將處理擴展。 –

+0

還有一些應用程序防火牆也可以進行緩存,例如CloudFlare,這些應用程序防火牆的複雜性非常低。您的網站不會完全脫機,但除非您計劃完全隱藏所有動態內容(即聯繫表單,評論表單,相關文章列表等),否則您將無法完全遮掩您的原始位置辦法。 – thexacre

回答

2

如果我正確理解你的問題,你在問什麼是Wget的默認行爲。

如果已將--adjust-extension選項傳遞給本地副本,那麼Wget只會將擴展名添加到本地副本。引述該名男子頁wget的:

--adjust-extension 
     If a file of type application/xhtml+xml or text/html is downloaded and the URL does not end with the regexp \.[Hh][Tt][Mm][Ll]?, this option will cause the suffix .html to be appended to the 
     local filename. This is useful, for instance, when you're mirroring a remote site that uses .asp pages, but you want the mirrored pages to be viewable on your stock Apache server. Another good 
     use for this is when you're downloading CGI-generated materials. A URL like http://example.com/article.cgi?25 will be saved as article.cgi?25.html. 

但是,你彷彿在問了,那Wget的節省example.org/foo/foo/index.html實際上是默認選項。如果您看到其他一些輸出,則應將Wget的完整輸出與--debug開關一起發佈。

+0

你是絕對正確的,我感覺絕對「愚蠢」。出於某種原因,我一直在關注一個建議使用'--convert-links'選項的教程。我不確定爲什麼我不明白這一點。無法更清楚:「...此選項將導致後綴'.html'被附加到本地文件名」 –