如何托管多个symfony项目?

时间:2012-03-04 12:11:51

标签: apache .htaccess symfony1 xampp httpd.conf

我正在尝试在一台计算机上托管多个symfony项目。我希望localy与我的托管远程服务器上的文件夹结构相同(这里只能使用.htaccess,无法访问httpd.conf)。应该是这样的:

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

和地址:

本地:

localhost/symfony_projectX

应重定向到

localhost/symfony_projectX/web/(index.php)

(注意localhost / symfony_projectX / config根本无法访问!教程通过将documentroot设置为web /来解决这个问题,但我不知道如何处理多个项目)


并在服务器上:

myaccount.myhostingserver.com/symfony_projectX

应重定向到

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

稍后我希望服务器上的项目可以通过不同的域名访问,例如:

mycoolestproject.com

应该是

的地址
symfony_project2

问题是:如何通过在服务器端使用.htaccess和.htaccess以及http.conf localy来完成此操作? (如果可能的话)

1 个答案:

答案 0 :(得分:0)

对于您的第一期,您有两种选择:

  1. 您可以使用简单的PHP脚本将HTTP标头重定向到其适当的路径(文件),如下所示:

    <?php 
      header('Location: http://myaccount.myhostingserver.com/symfony_projectX/web/'); 
    ?>
    
  2. 您可以使用HTML刷新元标记,如下所示:

    <!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>
    
  3. 对于您的第二个问题,请将以下内容添加到根文件夹.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]