Laravel路由无法在实时服务器上运行

问题描述 投票:0回答:4

我刚刚在服务器上发现了问题。一切都在我的localhost工作正常,但在实时服务器上,只有主页路由正常。

我的目录是:

laravel-
        css
        js
        local->
             app
                 HTTP->
                      Controllers->
                                Homecontroller
                                 admin->
                                        Groupcontroller   
             config
              ...

这是我的htaccess

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ /index.php [L]
RewriteCond %{HTTP:Authorization} ^(.+)$
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

我的路线文件是: -

Route::get('/group/detail', 'Groupcontroller@index');
Route::get('/group/add', 'Groupcontroller@create');
Route::get('/group/edit/{id}', 'Groupcontroller@edit');

http://www.example.com/home

我的家庭控制器正在工作。我认为问题是与管理文件夹???

http://www.example.com/admin/group/detail

这不起作用

遇到错误: -

类App \ Http \ Controllers \ Admin \ Groupcontroller不存在

请帮帮我,在localhost工作正常,但不在现场工作。提前致谢

laravel laravel-4 laravel-5
4个回答
1
投票

Groupcontroller的路径是Controllers/admin/Groupcontroller。因此,在您的路线中,您需要使用适当的路径访问Groupcontroller

Route::get('/group/detail', 'admin\Groupcontroller@index');
Route::get('/group/add', 'admin\Groupcontroller@create');
Route::get('/group/edit/{id}', 'admin\Groupcontroller@edit');

此外,建议使用CamelCase文件夹名称。那是;更改admin =>管理员。


1
投票

尝试将.htaccess的内容更改为此内容

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

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

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

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

0
投票

检查名称空间与目录名称的比较。案件应该匹配。


0
投票

您可能忘记将.htaccess文件从/ public文件夹粘贴到/ public_html文件夹

所以只需将公共文件夹中的.htaccess文件复制并粘贴到/ public_html文件夹即可

然后它将作为本地工作

© www.soinside.com 2019 - 2024. All rights reserved.