首页 > 解决方案 > 其他路由而不是默认路由不适用于 XAMPP

问题描述

我有我的 Laravel 项目,如果我使用地址“localhost/app/public”,则不能在我的 localhost XAMPP 上运行localhost/app/public/anyother”它显示错误消息,404 | 未找到。虽然默认和所有其他路由都适用于“php artisan serve”。

有两件事我想知道希望你不会介意。

1. Laravel自己的应用服务器上的XAMPP如何解决这个问题,所有路由都可以正常访问?

2. 为什么其他路由在本地 XAMPP 中不起作用,而在“php artisan serve”中运行良好?

我发现在 XAMPP 上运行 Laravel App 是:-

使用 xampp:

转到 C:\Windows\System32\drivers\etc\hosts 并添加一个新行,如: 127.0.0.1 yoursite.local 转到 xampp\apache\conf\extra\httpd-vhosts.conf 下安装 XAMPP 的位置 然后添加一个文件底部的虚拟主机,例如:

<VirtualHost *:80>

DocumentRoot "PATH_to_laravel_folder/public"  

ServerName yoursite.local  
</VirtualHost>

如果我为我的第 1 点接受此解决方案,是否有任何其他解决方案不创建虚拟主机?如果我想使用 XAMPP 提供的 URL,例如“localhost/app/public”,还有其他解决方案吗?

标签: laravelviewlaravel-7

解决方案


你的虚拟主机不好。您忘记了Directory规范标签并且不允许索引。

尝试编辑httpd-vhosts.conf位于C:\xampp\apache\conf\extra\httpd-vhosts.conf这样的位置:

# VirtualHost for LARAVEL.DEV

<VirtualHost laravel.dev:80>
  DocumentRoot "C:\xampp\htdocs\laravel\public"
  ServerAdmin laravel.dev
  <Directory "C:\xampp\htdocs\laravel">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
  </Directory>
</VirtualHost>

您可以找到更多Apache 文档

<Directory></Directory>用于包含一组指令,这些指令仅适用于命名目录、该目录的子目录以及相应目录中的文件。

换句话说,Apache Web 服务器自动索引生成是通过 usingOptions +IndexesOptions Indexes指令启用的。

如果请求映射到目录的 URL,并且DirectoryIndex该目录中没有,mod_autoindex则将返回该目录的格式化列表。


推荐阅读