2014-10-17 81 views
0

我在nginx服務器上運行https magento站點。我想提供來自cdn(Amazon Cloudfront)的靜態內容。Magento:如何更改基於瀏覽器的基礎皮膚網址(nginx)

我可以通過改變媒體/ CSS/JS網址,

www.mysite.com/xxx這樣做容易cdn.mysite.com/xxx

然而,舊的瀏覽器&操作系統(XP例如)不支持使這成爲可能的SNI。

所以,我的問題是:

我怎樣才能把我的媒體/ CSS/JS基地網址是(www.mysite.com/xxx)當我檢測到用戶正在運行XP(例如) ,但默認情況下將它們保留爲cdn.mysite.com/xxx

我不想設置多個存儲庫,只是爲了能夠在用戶不知道任何關於它的情況下更改這些變量。

+0

您能澄清一下您的意思嗎?然而,舊式瀏覽器和操作系統(例如XP)不支持使這成爲可能的SNI。對我而言,你提出的解決方案是一個不必要的複雜過程,簡單地改變url是正確的方法。只需要瞭解你是如何得出XP等不會/不能訪問這些URL的結論的。 – Dayo 2014-10-17 11:19:28

+0

確實,IE6不支持SNI,IE6只能在Windows XP上找到,但XP上的Chrome確實支持。 IE6的全球使用率低於0.3%(與IE7相同),目標是完全消除IE6。我認爲任何人都不應該支持該瀏覽器。 – clockworkgeek 2014-10-17 15:05:22

+0

我不想支持它,但從我的分析看,今年我有幾千美元的業務來自使用XP上的IE的客戶,我不能在設計上失去這種業務水平原理。根據維基百科,這個問題會影響到XP上所有版本的IE。 [鏈接](http://en.wikipedia.org/wiki/Server_Name_Indication#support) – collend 2014-10-17 16:06:54

回答

1

我覺得用nginx沒有什麼可以看到的,並且可以在Magento的後端輕鬆完成。您可以進入系統>配置>設計,然後單擊按鈕add exception

然後,您可以在matched expression字段中編寫一個正則表達式,並使用一個值來定義將在此情況下使用的設計。匹配的表達式需要匹配需要特定設計的瀏覽器的用戶代理。我認爲用戶代理在設計方面比操作系統更重要。

+0

感謝Christophe ......從我讀過的內容來看,操作系統也是這個特殊問題的一個因素。但增加一個新的主題與例外可能是這樣的方式。由於這只是需要改變的3個變量,我希望可能有更簡單的方法來做到這一點。 – collend 2014-10-17 16:04:50