这是Laravel 5.2的文件夹结构
-laravel
--app
--bootstrap
--config
...
在Laravel根目录的laravel
文件夹下,我添加了一个.htaccess
文件,其中包含以下代码:
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
现在,当我在浏览器中打开项目时,我收到错误:
抱歉,找不到您要查找的页面。 " RouteCollection.php第161行中的NotFoundHttpException:"
我正在使用XAMPP。为什么我收到此错误?如何使用此方法从URL中删除public?
答案 0 :(得分:1)
您需要将Web服务器指向public
目录而不是项目根目录。使用原始.htaccess
和这些Apache设置:
DocumentRoot "C:/xampp/htdocs/public"
<Directory "C:/xampp/htdocs/public">
重启Apache以使其正常工作。
答案 1 :(得分:0)
最好的方法是在xampp中创建虚拟主机并将其DocumentRoot设置为laravel公用文件夹。 这是一个很好的教程,介绍如何在xampp中创建vhosts
https://delanomaloney.com/2013/07/10/how-to-set-up-virtual-hosts-using-xampp/
答案 2 :(得分:0)
根据需要创建文件夹和名称,移动该文件夹中除public之外的所有文件,将公用文件夹的内容移动到root。必须编辑index.php并通过新闻文件夹名称
更改[newFolder]之后require __DIR__.'/[newFolder]/bootstrap/autoload.php';
$app = require_once __DIR__.'/[newFolder]/bootstrap/app.php';
答案 3 :(得分:0)
•转到mainproject / public&gt;&gt;
a. .htacess
b. favicon.ico
c. index.php
d. robots.txt
e. web.config
1.从公共文件夹中剪切这5个文件,然后粘贴到主项目文件夹中,这意味着公共文件夹的一侧... mainproject / files
2.粘贴后,打开index.php,修改
•require __DIR__.'/…/bootstrap/autoload.php'; to
•require __DIR__.'/bootstrap/autoload.php';
modify
$app = require_once DIR.'/../bootstrap/app.php'; to
$app = require_once DIR.'/bootstrap/app.php';
答案 4 :(得分:0)
从
更改httpd.conf
文件
DocumentRoot "C:/xampp/htdocs"
<Directory "C:/xampp/htdocs">
到
DocumentRoot "C:/xampp/htdocs/{projectname}/public"
<Directory "C:/xampp/htdocs/{projectname}/public">
重启apache。然后,您现在可以在url localhost /
中访问您的项目