我有我的Laravel项目,如果我使用地址" localhost /app/public“,而不是在我的本地主机XAMPP上运行,我的主(即欢迎)页面(welcome.blade.php)就可以工作了,但是当我编写另一条路径(如"localhost/app/public/anyother”)时,它会向我显示错误消息,404没找到。尽管默认路由和所有其他路由对于“服务”都很好。
有两件事我想知道,希望你不会介意。
1.如何在Laravel自己的应用服务器上解决XAMPP的问题?
2.为什么其他路由在本地XAMPP中不工作,而它们与"php服务“很好地工作呢?
我在XAMPP上为run Laravel App找到的是:-
与xampp合作:
转到C:\Windows\System32 32\drivers\etc\ yoursite.local,并添加一个新行,如: 127.0.0.1 XAMPP位于xampp\apache\conf下的安装位置,然后在文件底部添加一个虚拟主机,如下所示:
<VirtualHost *:80>
DocumentRoot "PATH_to_laravel_folder/public"
ServerName yoursite.local
</VirtualHost>
如果我接受第一点的解决方案,没有创建虚拟主机的其他解决方案吗?如果我想使用XAMPP提供的URL,比如"localhost/app/public“,还有其他解决方案吗?
发布于 2020-08-17 06:20:09
你的虚拟主机不好。您忘记了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>
用于封装一组指令,这些指令只适用于命名目录、该目录的子目录以及相应目录中的文件。
换句话说,使用Options +Indexes
或Options Indexes
指令启用Apache服务器自动索引生成。
如果请求一个映射到目录的URL,并且该目录中没有
DirectoryIndex
,那么mod_autoindex
将返回该目录的格式化列表。
发布于 2020-08-23 03:53:41
解决方案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';
希望上述解决方案中的一个在您的情况下运行良好。
https://stackoverflow.com/questions/63423678
复制相似问题