Apache 在测试服务器上设置多个项目
Apache Setup Multiple Project On Test Server
我在我的 Virtualbox 上使用 CentOS 7 和 Apache。
此 VM 有自己的 IP 地址 (XXX.XX.XX.XX)。
有了下面的这个设置,我可以通过输入 http://XXX.XX.XX.XX
在浏览器上访问我的项目
<VirtualHost *:80>
DocumentRoot /var/www/html/project_name/public/
<Directory /var/www/html/project_name/>
AllowOverride All
</Directory>
ErrorLog /var/log/apache2/project_name-error_log
CustomLog /var/log/apache2/project_name-common_log combined
</VirtualHost>
我的问题是我有另一个 Web 应用程序项目将 运行 在此机器上。
我可以像下面这样使用不同的端口号配置两个项目的访问权限吗?
http://192.168.10.1:8001
http://192.168.10.1:8002
解决方案:
以下是我如何让它发挥作用的:
Listen 8001
Listen 8002
<VirtualHost *:8001>
ServerName ipaddress:8001
<VirtualHost *:8002>
ServerName ipaddress:8002
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www/html/project_name/public/
</VirtualHost>
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/html/project_name/public/
</VirtualHost>
<VirtualHost *:80>
ServerName www.abc.com
DocumentRoot /var/www/html/project_name1/public/
</VirtualHost>
<VirtualHost *:80>
ServerName abc.com
DocumentRoot /var/www/html/project_name1/public/
</VirtualHost>
试试这个。在配置中,您可以在同一端口 80
上设置具有不同目录的多个域
第二个选项运行喜欢http://xx.xxx.xxx.xx/project1 and http://xx.xxx.xxx.xx/project2
在项目文件夹内的 .htaccess 中设置
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/mm.*$
RewriteRule ^(.*)$ public/ [L,QSA]
RewriteCond %{REQUEST_URI} ^/mm.*$
RewriteRule ^/mm/(.*)$ public/mm/ [L,QSA]
</IfModule>
AddDefaultCharset utf-8
我在我的 Virtualbox 上使用 CentOS 7 和 Apache。
此 VM 有自己的 IP 地址 (XXX.XX.XX.XX)。
有了下面的这个设置,我可以通过输入 http://XXX.XX.XX.XX
<VirtualHost *:80>
DocumentRoot /var/www/html/project_name/public/
<Directory /var/www/html/project_name/>
AllowOverride All
</Directory>
ErrorLog /var/log/apache2/project_name-error_log
CustomLog /var/log/apache2/project_name-common_log combined
</VirtualHost>
我的问题是我有另一个 Web 应用程序项目将 运行 在此机器上。
我可以像下面这样使用不同的端口号配置两个项目的访问权限吗?
http://192.168.10.1:8001
http://192.168.10.1:8002
解决方案:
以下是我如何让它发挥作用的:
Listen 8001
Listen 8002
<VirtualHost *:8001>
ServerName ipaddress:8001
<VirtualHost *:8002>
ServerName ipaddress:8002
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www/html/project_name/public/
</VirtualHost>
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/html/project_name/public/
</VirtualHost>
<VirtualHost *:80>
ServerName www.abc.com
DocumentRoot /var/www/html/project_name1/public/
</VirtualHost>
<VirtualHost *:80>
ServerName abc.com
DocumentRoot /var/www/html/project_name1/public/
</VirtualHost>
试试这个。在配置中,您可以在同一端口 80
上设置具有不同目录的多个域第二个选项运行喜欢http://xx.xxx.xxx.xx/project1 and http://xx.xxx.xxx.xx/project2
在项目文件夹内的 .htaccess 中设置
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/mm.*$
RewriteRule ^(.*)$ public/ [L,QSA]
RewriteCond %{REQUEST_URI} ^/mm.*$
RewriteRule ^/mm/(.*)$ public/mm/ [L,QSA]
</IfModule>
AddDefaultCharset utf-8