如何托管多个 symfony 项目?
Posted
技术标签:
【中文标题】如何托管多个 symfony 项目?【英文标题】:how to host multiple symfony projects? 【发布时间】:2012-03-22 05:20:33 【问题描述】:我试图在一台机器上托管多个 symfony 项目。我希望本地化的文件夹结构与我的托管远程服务器上的文件夹结构相同(此处只能使用 .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 来完成这项工作? (如果可能的话)
【问题讨论】:
你看过 VPS 主机吗?这些天来,它们是如此可用且便宜,我真的不明白为什么您会为这些漏洞而烦恼,这些漏洞如此容易被利用,而且无论如何都是一个坏主意。如果您的预算非常紧张,甚至还有很多共享主机允许您设置虚拟主机。 【参考方案1】:对于您的第一个问题,您有两种选择:
您可以使用简单的 PHP 脚本将 HTTP 标头重定向到其适当的路径(文件),如下所示:
<?php
header('Location: http://myaccount.myhostingserver.com/symfony_projectX/web/');
?>
您可以使用 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>
对于您的第二个问题,您将以下内容添加到您的根文件夹 .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]
【讨论】:
以上是关于如何托管多个 symfony 项目?的主要内容,如果未能解决你的问题,请参考以下文章
Symfony 5 SQLSTATE [HY000] [2002] 在主机上发送项目后