我有一个开发服务器,我在其中托管了一个基于symfony框架的网站(www.example.com) 现在,对于这个域名“www.example.com”,我们拥有所有SSL证书以及网站所需的其他内容。
我有一个要求,我必须再部署一个symfony实例,但不创建新的域名。我怎样才能实现它? 它可以指向www.example.com/newInstance吗?
我可以在同一个域名上运行两个网站吗? www.example.com/oldInstance和www.example.com/newInstance
我对网络的了解较少,所以寻求这方面的帮助。
答案 0 :(得分:2)
如果您使用Apache作为Web服务器,则可以使用alias
指向每个目录
<VirtualHost *:80>
DocumentRoot "path/To/Your/DocumentRoot/oldInstance"
ServerName www.example.com
<Directory "path/To/Your/DocumentRoot/oldInstance">
DirectoryIndex app.php
Options Indexes
AllowOverride All
Require all granted
</Directory>
Alias /newInstance "path/To/Your/DocumentRoot/newInstance"
<Directory "path/To/Your/DocumentRoot/newInstance">
DirectoryIndex app.php
Options Indexes
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
如果您请求http://example.com/,您将获得oldInstance目录。如果您请求http://example.com/newInstance,您将获得newInstance目录。
如果您想使用http://example.com/oldInstance而不是http://example.com获取oldInstance目录,那么您可以为其配置另一个别名:
Alias /oldInstance "path/To/Your/DocumentRoot/oldInstance"
请记住检查Apache配置中是否启用了mod_alias
。
LoadModule alias_module modules/mod_alias.so
我希望它可以帮到你。
答案 1 :(得分:1)
如果您使用Nginx + Apache,并且希望根据路径将Apache指向不同的目录,则可以使用下一个配置来实现它:
#Nginx
location /newInstance {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host YOUR_HOST_FOR_APACHE_HERE;
proxy_pass http://127.0.0.1:8080;
}
location /oldInstance {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host ANOTHER_HOST_FOR_APACHE_HERE;
proxy_pass http://127.0.0.1:8080;
}
并为Apache设置VirtualHost配置:
#Apache
<VirtualHost *:8080>
DocumentRoot "/var/www/newInstance"
ServerName YOUR_HOST_FOR_APACHE_HERE
</VirtualHost>
<VirtualHost *:8080>
DocumentRoot "/var/www/oldInstance"
ServerName ANOTHER_HOST_FOR_APACHE_HERE
</VirtualHost>
如果您的配置中只有Apache,则可以按照@Hokusai的建议配置别名:
<VirtualHost *:80>
DocumentRoot "path/To/Your/DocumentRoot/oldInstance"
ServerName www.example.com
<Directory "path/To/Your/DocumentRoot/oldInstance">
DirectoryIndex app.php
Options Indexes
AllowOverride All
Require all granted
</Directory>
Alias /newInstance "path/To/Your/DocumentRoot/newInstance"
<Directory "path/To/Your/DocumentRoot/newInstance">
DirectoryIndex app.php
Options Indexes
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
您也可以使用前端控制器(例如app.php
)来管理所有流量,并根据主机名导入不同的文件。