【问题标题】:Laravel Routing errorLaravel 路由错误
【发布时间】:2015-09-25 02:24:30
【问题描述】:

我刚刚开始使用 Laravel。我刚刚安装了它。但是当我制作一条新路线时它不起作用,它说:

在此服务器上找不到请求的 URL /laravel/public/test。

这是目前我的 routes.php:

 Route::get('/', function () {
    >     return view('welcome'); });

    > Route::get('/test', function () {
    >     return view('test'); });

当然,我还创建了一个名为 test 的视图。当我去:

http://localhost/laravel/public/test

我看到了 Laravel 启动模板。但是当我去:

> http://localhost/laravel/public/test

它不工作?

为什么我也可以访问:

http://localhost/laravel.dev/

谢谢。

编辑:

<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]
</IfModule>

【问题讨论】:

    标签: php laravel-5


    【解决方案1】:

    我想问题出在您的 .htaccess 上。

    This likely works
    > http://localhost/laravel/public/index.php/test
    

    现在您的 .htaccess 应该包含默认情况下将所有请求传递给 index.php 的逻辑。如果是这种情况,那么很可能是您的虚拟主机条目在&lt;Directory&gt; 块中没有AllowOverride All 存在问题。

    注意AllowOverride All 不是生产环境的好选择。

    【讨论】:

    • 谢谢你,但我不太明白你所说的“AllowOverride All”是什么意思。你能看看我的.htacces(请看我的编辑)
    • @jamie Well...AllowOverride All 部分属于您的本地主机的 VirtualHost 声明。这样,.htaccess 可以对某些服务器端配置进行修改。如果没有AllowOverride All,您可能无法做到。还要始终确保启用了 mod_rewrite。
    猜你喜欢
    • 1970-01-01
    • 2018-01-15
    • 2017-10-02
    • 2016-07-01
    • 1970-01-01
    • 2013-12-26
    • 2014-12-21
    相关资源
    最近更新 更多