2011-10-14 28 views
1

我想從內容交付網絡(CDN)加載所有MedaiWiki靜態資源,原因很明顯(使用MW 1.17.0)。如何從CDN加載靜態mediawiki內容?

我想我需要設置$ wgStylePath = http://cdn.example.com/然後把所有的東西目前在我的/毛皮/目錄爲http://cdn.example.com/ (這似乎在這個堆棧溢出的問題/答案被提出:How can you change images src attributes in mediawiki to access a CDN?但它不是很清楚

我的關注是目前在/皮膚/目錄中的.php文件...

我唯一的想法是,我需要將/ skins /中的所有子目錄放入CDN中,但不是。 php文件直接在/皮膚/

也許我正在以這種錯誤的方式進行......有沒有更好的方法來實現我想要做的事情? (我想所有的主題相關的.js,.css和圖像文件從外部CDN負載)

感謝,

-Dan

回答

1

這裏有兩個完全不同的路徑:文件系統web服務器訪問與皮膚相關的PHP文件($wgStyleDirectory)以及將放置在HTML代碼中並由瀏覽器用來訪問css/js文件($wgStylePath)的URL的路徑。如果你想使用CDN,你可以將後者設置爲CDN網址,讓前者保持和平。

+0

謝謝。我已經把所有的東西都搬了過來,並設置了$ wgStylePath ...我可以看到圖像來自cdn,但js和css文件仍然從原始url加載,例如http://example.com/load.php? debug = false&lang = en&modules = startup&only = scripts&skin = vector&* and http://example.com/load.php?debug=false&lang=en&modules=mediawiki.legacy.commonPrint%2Cshared|skins.vector&only=styles&skin=vector&* ...我希望這些文件也可以從CDN加載。還有什麼我可以設置的?再次感謝 –

+0

爲了做到這一點,你可以看到wikipedia.org上的js和css文件正在從bits.wikimedia.org加載 - 而不是原始的en.wikipedia.org域名。這怎麼能實現? –

+0

您可以嘗試設置[$ wgStyleSheetPath](http://www.mediawiki.org/wiki/Manual:$wgStyleSheetPath)或[$ wgExtensionAssetsPath](http://www.mediawiki.org/wiki/Manual:$wgExtensionAssetsPath) ,儘管這些應該默認爲'$ wgStylePath'的值。你可以在這裏找到維基媒體的配置文件(http://noc.wikimedia.org/conf/highlight.php?file=CommonSettings.php)。 – Tgr