Laravel从网址

时间:2016-04-09 07:14:10

标签: php .htaccess laravel laravel-5 laravel-5.2

这是Laravel 5.2的文件夹结构

-laravel
--app
--bootstrap
--config
...

在Laravel根目录的laravel文件夹下,我添加了一个.htaccess文件,其中包含以下代码:

RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]

现在,当我在浏览器中打开项目时,我收到错误:

  

抱歉,找不到您要查找的页面。 " RouteCollection.php第161行中的NotFoundHttpException:"

我正在使用XAMPP。为什么我收到此错误?如何使用此方法从URL中删除public?

5 个答案:

答案 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 /

中访问您的项目