在同一目录下重写多个symfony项目

问题描述:

我正在尝试在我的开发服务器中创建一些个人项目,就像某种内部网。在同一目录下重写多个symfony项目

如果我将每个项目划分到不同的虚拟主机中,我在每台计算机中都将主机文件设置为每个服务器名称,并且我没有重写规则和app.php问题。但问题是,我无法修改android设备中的主机文件,所以我无法访问这些网页。

我心目中什么是这样的:

我在我家文件夹的三项symfony的项目

/home/user/projects/project1 
/home/user/projects/project2 
/home/user/projects/project3 

然后,在Apache的默认文件夹,我做软链接到Web文件夹每一个项目:

ln -s /home/user/projects/project1/web /var/www/html/project1 
ln -s /home/user/projects/project2/web /var/www/html/project2 
ln -s /home/user/projects/project3/web /var/www/html/project3 

这样我就可以访问他们这样说:

http://server-ip/project1 
http://server-ip/project2 
http://server-ip/project3 

问题是我使用那些URL我需要添加默认的app.php。我一直试图修改每个项目的.htaccess文件,但我不想修改。我正在使用默认的虚拟主机配置和每个项目的默认.htaccess文件。

我认为我需要修改RewriteCond行,但我不知道该怎么做。

感谢

+0

您仍然可以创建具有不同端口的虚拟主机,并从外部设备访问它们,如project1的http:// server-ip:8001 /'for project2的http:// server-ip:8002 /'等等。 – yceruto

+0

是的,我知道。我说我像内联网那样做,但如果我想从我的网络外部访问另一个项目,我需要在路由器中打开这些端口。阿利斯特解决方案为我想做的事情工作。 – aenon83

我有一个本地开发环境(这是一个Linux服务器上实际运行,我的桌子底下,但相同的设置将适用于服务器的任何其他配置)。

网络服务器有一个本地IP地址,可从本地网络的其他地方访问,包括从我的手机通过WiFi访问。

所有开发站点都在服务器上配置了自己的Vhost,并带有一个常见的DNS前缀 - 类似*.devserver.domain.com

配置DNS以便devserver.domain.com和通配符*.devserver.domain.com返回192.168.1.75(或任何内部静态IP地址)。这是一个公共域名,它具有到本地范围IP地址的A记录,但它完全有效。

如果您还没有域名,你可以通配符DNSS增加,您可以使用服务,如http://nip.io/ - 所以虚拟主机服务器名会是这样的:

  • project1.192.168。 1.75.nip.io
  • project2.192.168.1.75.nip.io
  • ...等

你可能最终会定期编辑apache的虚拟主机,如果在所有你的内部IP变化,也许发现备用的通配符DNS服务器(我的目标是xip.io,但这并不困难)。

您也可以使用Apache ServerName/serverAlias的内部通配符:ServerAlias mysite.*.xip.io

+0

是的,工作。我使用了tk域名,他们是免费的。他们不承认外卡*,但他们允许插入多个域名,现在他们已经足够了。谢谢! – aenon83