繁体   English   中英

Laravel路线根本不起作用

[英]Laravel routes do not work at all

我的laravel路线根本不起作用。 我试过这样的事情:

Route::get('welcome', function () {
    return View::make('welcome');
});

使用localhost / project / project / public / welcome访问它可以正常工作。 我已经尝试过很多方面,但似乎路由不起作用,因为localhost / project / welcome显示404错误。 我知道有一个类似的主题,但对我来说没有答案。 有人可以帮帮我吗?

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

您需要编辑HTTP服务器以将文档根目录为project / project / public /

例如在Apache中你可以做类似的事情:

<VirtualHost *:80>                                                                                                                                                                                                                                                     
        ServerAdmin webmaster@localhost                                                                                                            
        DocumentRoot /var/www/project/project/public/

在Nginx中它会是这样的:

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/project/project/public/;

您已经说过,您可以访问您的laravel应用程序
localhost/project/project/public/welcome 这是因为此路径是您从启动应用程序的起始根路径。

允许您访问新路由的示例

Route::get('other_route', function () {
    return View::make('welcome');;
});

如果要在浏览器中键入localhost/project/project/public/other_route ,则可以访问此代码

localhost/project/welcome将无法正常工作,因为您的应用程序比此路径更深。

您应该为您的应用程序设置虚拟主机,以便您的路径可以是myapp.local/welcome myapp.local/other_route

或者访问您的应用程序,假设您的起点是http://localhost/project/project/public/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM