2017-08-24 36 views
1

我正在嘗試在我的開發服務器中創建一些個人項目,就像某種內部網。在同一目錄下重寫多個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

回答

0

我有一個本地開發環境(這是一個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