Laravel 将目录作为其路由

Laravel considering a directory as its route

我在数字海洋中有一个 Laravel 应用程序,apache2 服务器。

主域example.com指向/var/www/html/domain/laravel_app/public/

现在我想要示例。com/test 指向 /var/www/html/domain/test/public/

但是当我输入示例时发生了什么。com/test test 在第一个应用程序中采用了路由,而不是转到 /var/www/html/domain/test

的目录

我也创建了虚拟主机文件,

对于第一个应用程序,文档根目录指向 /var/www/html/domain/laravel_app/public/

对于 secondapp,文档根目录指向 /var/www/html/domain/test/public/

即便如此,它也被当作路线。

您不能在 vhosts 条目中将子文件夹定义为 ServerName。相反,您必须使用别名。 VirtualHost 的 Apache 配置应如下所示:

<VirtualHost *:80>
    DocumentRoot /var/www/html/domain/laravel_app/public/
    ServerName example.com
    Alias /test /var/www/html/domain/test/public/ 
</VirtualHost>

因此调用示例。com/test 使用文件夹 /var/www/html/domain/test/public/

要使 'Test' Laravel 安装工作,您必须修改 public 文件夹中的 .htaccess 文件,并在 RewriteEngine On[=12= 行后添加一个 Rewrite Base ]

RewriteEngine On
RewriteBase /test

另外别忘了重启 Apache。