如何解决其他路由而不是默认路由不适用于XAMPP
我有我的Laravel项目,如果我使用地址“ localhost / app / public”,则不在我的localhost XAMPP上运行,我得到了主页(即Welcome)(welcome.blade.php)的工作,但是当我写其他像“本地主机/应用程序/公共/任何其他”的路由,它向我显示错误消息404 |未找到。 虽然默认路由和所有其他路由都可以用于“ php artisan serve”。
我想知道两件事,希望您不要介意。
1。如何在Laravel自己的应用服务器上为XAMPP解决此问题,所有路由都可以访问?
2。为什么其他路由在与“ php artisan serve”一起正常工作时,在本地XAMPP中不起作用?
我在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>
如果我接受第一点的解决方案,是否还有其他解决方案而不创建虚拟主机?如果要使用XAMPP提供的URL,例如“ localhost / app / public”,还有其他解决方案吗?
解决方法
您的虚拟主机不好。您忘记了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 documentation
<Directory>
和</Directory>
用于封装一组指令,这些指令仅适用于命名目录,该目录的子目录以及相应目录中的文件。
换句话说,使用Options +Indexes
或Options Indexes
指令启用了Apache Web服务器自动索引生成。
,如果请求映射到目录的URL,并且该目录中没有
DirectoryIndex
,则mod_autoindex
将返回该目录的格式列表。
解决方案1:
尝试将Laravel项目文件夹中的server.php
重命名为index.php
,并将公共目录中存在的.htaccess
文件复制到项目根文件夹。
解决方案2:
将.htaccess
和index.php
从公共目录复制到项目根文件夹
按如下所述更改index.php
文件:
//change line 22 to
require __DIR__.'/bootstrap/autoload.php';
//change line 36 to
$app = require_once __DIR__.'/bootstrap/app.php';
希望上述解决方案之一适合您的情况。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。