我正在尝试在一台计算机上托管多个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来完成此操作? (如果可能的话)
答案 0 :(得分:0)
对于您的第一期,您有两种选择:
您可以使用简单的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]