我的laravel 5项目在localhost上运行良好。将项目移动到服务器后,它显示内部服务器错误。
错误消息
The server encountered an internal error or misconfiguration and was unable to complete your request.
我检查了要求。所有要求都是正确的。
PHP = 5.5
Mcrypt PHP Extension = Enabled
OpenSSL PHP Extension = Enabled
Mbstring PHP Extension = Enabled
Tokenizer PHP Extension = Enabled
根和公用文件夹上的 .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]
</IfModule>
我通过删除两个.htaccess
文件进行了测试,但仍显示内部服务器错误。
我该如何解决这个问题?有什么建议吗?
答案 0 :(得分:0)
检查是否启用了mod_negotiation。我刚才有同样的问题
答案 1 :(得分:0)
迁移共享服务器时遇到了同样的问题。对我有用的解决方案如下。
假设有一个名为test
的laravel文件夹,其中包含laravel的文件夹结构。
我使用了2个不同的.htaccess文件
1)在(已安装的)laravel的根文件夹中有一个,即与test
文件夹一起,内容如下所示。
RewriteEngine On
RewriteCond %{REQUEST_URI} !^test/public
RewriteRule ^(.*)$ test/public/$1 [L]
2)公共文件夹中的一个,即test / public内部,内容如下。
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
它对我有用。