在同一apache中设置Laravel和Vue JS

6jygbczu  于 2023-03-09  发布在  Apache
关注(0)|答案(2)|浏览(129)

我想在同一个apache中托管Laravel和VueJs。它们是独立的项目,其中Laravel用于API,VueJs用于CMS。现在我可以完美地运行VueJS。但我也不知道如何运行Laravel。下面是000-default.config:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/vue_project/dist

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

        <Directory /var/www/html/vue_project/dist>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Require all granted
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

我如何在这个000-default.conf文件中添加laravel项目?我需要如何创建另一个站点可用的conf文件?谢谢你们。

of1yzvn4

of1yzvn41#

您即将完成此操作,请创建另一个文件,例如001-laravel.conf,其中包含以下内容:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/laravel_project/public

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

而这应该足够让它工作了。当然在DocumentRoot上使用正确的路径,它必须指向public文件夹。
完成此操作后,如果您使用的是Linux,请运行sudo a2ensite 001-laravel,然后运行sudo service apache2 restart,以便加载新的配置页面。
但是请记住,您需要添加ServerName your-test-page.local或类似的内容,以便可以指定,当您访问your-test-page.local时,Apache将正确地将其解析为Laravel而不是VueJS。
然后,您还需要编辑您的hosts文件,并将该别名添加到127.0.0.1 ...查找有关如何执行此操作的教程,因为有大量有关此操作的信息...

jgovgodb

jgovgodb2#

最后,我发现我可以使用Alias来解决这个问题。

<VirtualHost *:80>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/vue_project/dist
        Alias /apis /var/www/html/laravel_project/public
       
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /var/www/html/vue_project/dist>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Require all granted
                Order allow,deny
                allow from all
</Directory>

<Directory /var/www/html/laravel_project>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Require all granted
                Order allow,deny
                allow from all
</Directory>

</VirtualHost>

首先添加laravel的Alias。记住包括公共文件夹
其次添加laravel的目录。不要在目录中添加公共文件夹
一旦配置完成。运行sudo systemctl restart apache2sudo service apache2 restart。然后刷新页面,我们可以使用别名进入相同域的laravel项目。

相关问题