Laravel 5.1重写网址无法正常工作

时间:2015-10-12 02:01:06

标签: laravel

I am Working on Localhost (WAMP server, php version 5.5.12)

url:http://localhost/laravel/

我的根目录.htaccess是:

   <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^(.*)$ public/$1 [L]

公共目录.htaccess是:

<IfModule mod_rewrite.c>
  <IfModule mod_negotiation.c>
    Options -MultiViews
 </IfModule>

RewriteEngine On

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

在我想要访问的此方案中:http://localhost/laravel/ 出现以下错误消息: 抱歉,找不到您要查找的页面。

1/1 RouteCollection.php第161行中的NotFoundHttpException:

但是当我访问时:http://localhost/laravel/public/ 它成功加载主页。我调整了url重写中的所有内容它工作正常但laravel不接受新的url。任何人都可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

您可以简单地解决此问题。从您的公共目录index.php文件移动到根目录,如&#34; project-name / index.php&#34; 然后编辑index.php文件 在第22行替换 &#34;要求 DIR 。&#39; /../ bootstrap / autoload.php&#39;;&#34;这个 &#34;要求 DIR 。&#39; /bootstrap/autoload.php' ;;&#34;

和第36行替换 &#34; $ app = require_once DIR 。&#39; /../ bootstrap / app.php&#39;;&#34;同 &#34; $ app = require_once DIR 。&#39; /bootstrap/app.php' ;;&#34;

现在从&#34; project-name / bootstrap / autoload.php&#34;编辑autoload.php 这里更换第17行 &#34;要求 DIR 。&#39; /vendor/autoload.php' ;;&#34;同 需要 DIR 。&#39; /../ vendor / autoload.php&#39;;

现在浏览您的项目名称。我认为它会解决你的问题。您还可以将开发服务器作为localhost:8000进行操作,以便在命令窗口中打开您的项目文件夹并键入&#34; php artisan serve&#34;点击Enter。