2012-03-04 70 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]