Hostgator上的Laravel 4内部服务器错误500

Gla*_*elp 0 .htaccess internal-server-error laravel laravel-4

我在共享的Hostgator服务器上部署了一个Laravel 4应用程序.

当我导航到:

http://mydomain.com/laravel/public/
Run Code Online (Sandbox Code Playgroud)

我可以看到Laravel闪屏.

但是当我尝试访问任何其他途径时,比如,/ users或/ posts我得到了

Internal Server Error 500

http://mydomain.com/laravel/public/posts
Run Code Online (Sandbox Code Playgroud)

控制器:

public function index()
    {
        $posts = $this->post->all();

        return View::make('posts.index', compact('posts'));
    }
Run Code Online (Sandbox Code Playgroud)

在Routes.php中:

Route::resource('posts', 'PostsController');
Run Code Online (Sandbox Code Playgroud)

我使用Jeffrey Way的Generator来支撑帖子实体.

这在我的本地机器上工作正常.控制器不包含任何逻辑,它们只输出获取的数据.

错误日志为空.

任何想法要检查什么?.htaccess,也许?这是我在那里:

AddType application/x-httpd-php53 .php
<IfModule mod_rewrite.c>
    Options -MultiViews
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

fid*_*per 9

如注释中所述,如果没有来自应用程序记录器的相应日志文件条目,则500错误可能是.htaccess文件问题.

由于OP发现问题与重写有关(而不是使用php 5.3的指令):

由于这可能是Hostgator上的常见问题,因此您应该查看他们的帮助文档.

但是,我第一次尝试修复将添加一个RewriteBase指令:

RewriteBase /
Run Code Online (Sandbox Code Playgroud)

所以它看起来像:

<IfModule mod_rewrite.c>
    Options -MultiViews
    RewriteEngine On
    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

请注意,这假设您从Web根目录运行Web应用程序而不是子目录.