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

时间:2016-01-12 05:32:47

标签: laravel laravel-4 laravel-5

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

我的目录是:

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

这是我的htacess

<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

这不起作用

遇到错误: -

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

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

4 个答案:

答案 0 :(得分:1)

List<int> obj = new List<int>(); using (DemoEntities context = new DemoEntities()) { obj = (from ct in context.CTransactions group ct by ct.Transactionid into grp join pt in context.PTransactions on grp.Key equals pt.Transactionid where grp.Sum(x => x.DepositAmount) < pt.PayAmount select grp.Key).ToList(); } 的路径为Groupcontroller。因此,在您的路线中,您需要使用适当的路径访问Controllers/admin/Groupcontroller

Groupcontroller

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

尝试将.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 :(得分:0)

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

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

然后它将作为本地