【问题标题】:Laravel routes are not working on live serverLaravel 路由在实时服务器上不起作用
【发布时间】:2016-04-16 15:06:31
【问题描述】:

我刚刚在服务器上发现了问题。在我的本地主机中一切正常,但在实时服务器上,只有主页路由正常。

我的目录是:

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

这是我的过程

<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 不存在

请帮助我,在本地主机上工作正常,但不是在现场。 提前致谢

【问题讨论】:

  • 你在生产服务器上做过composer dump-autoload吗?
  • 区分大小写重新检查 Groupcontroller 详细信息
  • laravel- css js local-> app HTTP-> Controllers-> Homecontroller admin-> Groupcontroller config ... 我的家庭控制器正在工作。我认为问题出在 admin 文件夹上? example.com/home

标签: laravel laravel-4 laravel-5


【解决方案1】:

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

所以只需将 .htaccess 文件从 public 文件夹复制并粘贴到 /public_html 文件夹

然后它将作为本地工作

【讨论】:

    【解决方案2】:

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

    <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>
    

    【讨论】:

      【解决方案3】:

      将命名空间与目录名称进行比较。案例应该匹配。

      【讨论】:

        【解决方案4】:

        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 文件夹名称。那是;更改管理员 => 管理员。

        【讨论】:

          猜你喜欢
          • 2019-04-05
          • 2020-01-15
          • 2018-06-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-05-31
          • 2015-04-24
          相关资源
          最近更新 更多