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)
如注释中所述,如果没有来自应用程序记录器的相应日志文件条目,则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应用程序而不是子目录.