2013-04-16 35 views
-2

我們有一個網頁代碼,它在8個不同的國家運行相同的網站。 但是,我們不會將這些信息透露給用戶。 以下是我們如何處理主題。 /httpdocs/themes/www.sitename.com/default/ 在htaccess中,我們使用RewriteRule跳過www.sitename.com部分,用戶只能在他的瀏覽器位置看到 /httpdocs/themes/default。在一個代碼上運行多個網站

這個工作正常,但我們添加的網站越多,當我們需要在開發服務器和本地開發PC上創建這個環境時,它會變得有問題。

我們如何處理這個地址位置問題。它更容易刪除htaccess行,並將所有內容都放在配置文件中,但它將我們取得了一些我們已經實現的技巧。

更多信息

這裏的htaccess的規則。 RewriteRule ^resources/image/(.*)$ resources/%{HTTP_HOST}/upload/image/$1 [L]

現在在本地,它變成文件夾/ resources/localsite/image,而在live /resources/www.sitename.com/image上。

因爲我們通過htacess來處理,所以規則不適用於本地。我談論的技巧是用戶/管理員不知道我們在一個代碼中處理這些網站非常棒。

試圖在虛擬主機

寫命令寫命令在vhost.conf的Plesk下創建。

<If "%{SERVER_NAME} = 'www.sitename.com'"> 
     SetEnv ThemePath www.sitename.com 
</If> 

但得到了錯誤。

Starting httpd: Syntax error on line 23 of vhost.conf: Invalid command <If, 
perhaps misspelled or defined by a module not included in the server configuration 
+0

需要在Dev服務器和本地開發PC上創建此環境時,問題出在哪裏? – Oswald

+0

「它剝奪了我們已經達到的某種技巧」是什麼意思? – Nanne

+0

你可以在你的問題中發佈你當前的.htaccess嗎? – anubhava

回答

1

您需要在Apache vhost配置中添加以下內容。我還沒有.htaccess文件測試這一點,但我想不出任何明顯原因,這是行不通的:

SetEnvIf HOST ^www.somesite.com$ NONWWWURL=1 
SetEnvIf HOST ^somesite.com$ NONWWWURL=0 

我相信這應該做到你在找什麼。

相關問題