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

时间:2017-08-24 20:12:07

标签: apache .htaccess 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

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

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

由于

1 个答案:

答案 0 :(得分:0)

我有一个本地开发环境(它实际上是在我的桌面下的linux服务器上运行,但同样的设置适用于任何其他服务器配置)。

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

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

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

如果您没有可以添加通配符DNS的域名,则可以使用http://nip.io/等服务 - 因此vhost Servername将类似于:

  • project1.192.168.1.75.nip.io
  • project2.192.168.1.75.nip.io
  • ...... etc

如果内部IP发生了变化,你可能会定期编辑apache vhost,也许会找到备用的通配符DNS服务器(我的首选是xip.io,但这并不困难)。 / p>

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