为我的虚拟主机添加别名

时间:2015-04-12 11:13:15

标签: php symfony virtualhost apache2.4

我已将我的项目symfony2部署在个人服务器上,一切正常。

现在我想为一些朋友发布这个项目,以便他们可以看到它。我认为最好的方法是通过/从外部访问我的项目。 快速谷歌研究认为,使用Alias声明可以做到这一点。

ServerName blabla
ServerAlias blablab
ServerAdmin blablab@blabla
DocumentRoot /path/to/my/project/web     

Alias /myproject "/path/to/my/project/web"
<Directory /path/to/my/project/web>
   DirectoryIndex app.php
   Options Indexes FollowSymLinks MultiViews
   AllowOverride All
   Require all granted
   Order allow,deny
   allow from all
</Directory>

当我尝试访问<server_IP_ADDRESS>/<project_name>时出现Not found错误

为什么会出现这个错误?我该如何解决这个问题?

UPDATE1

我在一台服务器上有很多项目,我希望能够在任何地方访问它们。从我的观点来看,最好的选择是使用别名:

  1. project1:http://<my_server_ip_address>/project1
  2. project2:http://<my_server_ip_address>/project2
  3. project3:http://<my_server_ip_address>/project3 ....

1 个答案:

答案 0 :(得分:1)

拥有虚拟服务器会将服务器映射到主机名/别名。在您的情况下,您正在访问相同的主机名(服务器IP)但不同的URI。在您的情况下,这些URI可能不存在,因此您需要重定向/重写它们。我认为你会想要重写,所以你可以继续把重写规则放在虚拟主机定义中,就像在.htaccess中一样,只要确保你启用了mod_rewrite。

ServerName <server ip>

RewriteEngine On

RewriteRule /project1 /Path/to/project/1 [L]
RewriteRule /project2 /Path/to/project/2 [L]
RewriteRule /project3 /Path/to/project/3 [L]