2012-03-04 127 views
1

我想在一臺機器上託管多個symfony項目。我想在本地託管遠程服務器上具有相同的文件夾結構(只能在此處使用.htaccess,不能訪問httpd.conf)。它應該是這樣的:如何託管多個symfony項目?

-(public_html or htdocs) 
    -symfony_project1 
    -symfony_project2 
    -symfony_project3 

和地址:

地方:

localhost/symfony_projectX 

應該被重定向到

localhost/symfony_projectX/web/(index.php) 

(注意使localhost/symfony_projectX/config不能是accessibl全部吃掉!教程處理,通過設置DocumentRoot的網頁/,但我不知道該怎麼pultiple項目辦)


和服務器:

myaccount.myhostingserver.com/symfony_projectX 

應該被重定向到

myaccount.myhostingserver.com/symfony_projectX/web/(index.php) 

後來我想通過不同的域名訪問服務器上的項目,例如:

mycoolestproject.com 

應該是地址

symfony_project2 

和問題是:如何得到這個工作,只有使用的.htaccess在服務器端和的.htaccess和http.conf中localy? (如果有可能的話)

+0

你看過VPS主機嗎?這些天他們是如此可用和便宜我不明白爲什麼你會困擾這樣的漏洞,無論如何這是容易被利用和壞主意。如果你的預算非常緊張,甚至還有很多共享主機可以設置虛擬主機。 – Gerry 2012-03-06 12:18:16

回答

0

對於你的第一個問題你有兩種選擇:

  1. 您可以使用一個簡單的PHP腳本到HTTP頭重定向到其appropiate路徑(文件)這樣的:

    <?php 
        header('Location: http://myaccount.myhostingserver.com/symfony_projectX/web/'); 
    ?> 
    
  2. 您可以使用HTML刷新meta標籤,就像這樣:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <title>Symfony ProjectX</title> 
    <meta http-equiv="refresh" content="1;url=http://myaccount.myhostingserver.com/symfony_projectX/web/index.php">  
    </head> 
    <body></body> 
    </html> 
    

對於添加以下到你的根文件夾.htaccess文件您的第二個問題:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www.)?myaccount.myhostingserver.com$ 
RewriteRule ^(/)?$ symfony_projectX/web [L] 

,並附加線重複這種行爲爲每個需要重定向域:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www.)?mycoolestproject.com$ 
RewriteRule ^(/)?$ symfony_project2 [L]