单个域上多个laravel应用程序的虚拟主机别名

时间:2017-04-21 15:06:48

标签: php apache laravel alias virtualhost

我希望我的域根据网址运行两个单独的laravel应用程序

例如

domain.com/home/sites/1

domain.com/account/home/sites/2

我有这个工作,但是在网站2上运行的laravel实例认为domain.com/account是主页。

当我转到domain.com/account时,我会看到网站2的主页 - 而不是/account的设置路线。

这是我的vhost文件

<VirtualHost *:443>
    ServerName domain.com
    ServerAdmin webmaster@localhost
    UseCanonicalName Off
    DocumentRoot /home/sites/1/public/
    DirectoryIndex index.php

    <Directory />
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    <Directory /home/sites/1/public/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    Alias /account/ /home/sites/2/public/

    <Directory /home/sites/2/public/>
         Require all granted
         Options Indexes Includes FollowSymLinks MultiViews
         AllowOverride All
         Order allow,deny
         Allow from all
         RewriteEngine On
     </Directory>
</VirtualHost>

1 个答案:

答案 0 :(得分:0)

将此添加到您的自定义apache虚拟主机文件中

<VirtualHost *:80>

        ServerAdmin xx@xxx.com
        ServerName xxx.com
        DocumentRoot /path/to/site1/public

        Alias /account /path/to/site2/public

        <Directory /path/to/site1/>
           AllowOverride All
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

现在您需要更改别名的公用文件夹的.htaccess文件-

在.htacess文件中的 RewriteEngine On 之后紧随

添加 RewriteBase / directory_name_of_site2 /

您可以添加任意多个别名,只需记住要修改每个项目的.htaceess文件即可。