【问题标题】:Apache Setup Multiple Project On Test ServerApache 在测试服务器上设置多个项目
【发布时间】:2020-03-16 23:33:56
【问题描述】:

我在 Virtualbox 上使用 CentOS 7 和 Apache。

此虚拟机有自己的 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

【问题讨论】:

    标签: php laravel apache centos centos7


    【解决方案1】:
    <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/project1http://xx.xxx.xxx.xx/project2 一样运行

    在项目文件夹内的 .htaccess 中设置

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond  %{REQUEST_URI}  !^/mm.*$
        RewriteRule ^(.*)$ public/$1 [L,QSA]
    
        RewriteCond  %{REQUEST_URI}  ^/mm.*$
        RewriteRule ^/mm/(.*)$ public/mm/$1 [L,QSA]
    </IfModule>
    AddDefaultCharset utf-8
    

    【讨论】:

    • 谢谢,但这只是一个开发者服务器,我没有域名
    • 你可以设置像 xx.xx.xx.xx/project_name 和 xx.xx.xx.xx/project_name2
    • 192.168.10.1:8001 192.168.10.1:8002 这样你也可以这样做
    • 我试过你说的,但如果我输入http://ipaddress/project1它只是一个目录浏览,但如果我输入http://ipaddress/project1/public它会工作。我怎么能只做http://ipaddress/project1
    • php artisan serve --port=8001 this for project and run using 192.168.10.1:8001 and php artisan serve --port=8002 this for project2 and run using 192.168.10.1:8002
    猜你喜欢
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-04
    • 1970-01-01
    • 2013-07-02
    • 2020-09-16
    相关资源
    最近更新 更多