【发布时间】:2018-05-29 14:29:12
【问题描述】:
我在尝试打开 URL 时收到“页面不工作错误。我已将我的 laravel Web 应用程序上传到由 godaddy 提供的 Linux 服务器,并将 .htdocs 添加到该项目中,但是当我尝试访问该页面时显示页面不工作“内部服务器错误 500”,它没有显示任何错误。
当我检查 chrome 中的网络选项卡以查看正在加载哪些页面时,它没有加载任何文件,但它显示相同的错误 500 内部服务器错误。 我相信 .htaccess 应该有一些问题,它导致了错误,但我不知道如何为 Laravel 项目编写它。
下面是我的 .htaccess 文件。
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Deny access to dot files
RewriteRule (^|/)\.([^/]+)(/|$) - [L,F]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^index.php [L]
# Redirect non-www to www
# RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{REQUEST_URI} webappname
RewriteRule ^(.*)$ domainname/webappname/$1 [R,L]
# Redirect http to https
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
# Handle Authorization Header
# RewriteCond %{HTTP:Authorization} .
# RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
【问题讨论】:
-
因为错误消息已经告诉服务器端存在 internal 错误。因此,您的脚本很可能由于某些配置错误而崩溃。在这种情况下总是要做的第一件事是检查 http 服务器错误日志文件。这很可能是记录 php 错误的地方。那么你在那里读到错误的原因是什么?
-
我在日志文件中发现以下错误。请检查。
-
[2018 年 5 月 28 日 10:10:51 UTC] PHP 致命错误:调用 /vendor/symfony/polyfill-mbstring/Mbstring 中的未定义函数 Symfony\Polyfill\Mbstring\iconv_strpos()。第 358 行的 php
-
您的 php 设置没有安装 iconv 扩展:php.net/manual/en/book.iconv.php
标签: php linux laravel .htaccess