我是laravel的新手。当我去mydomain.com时,我收到内部错误500。
我的错误日志说:
[Sun Nov 20 22:04:48.310309 2016] [core:alert] [pid 364784:tid 140380089542400] [client 141.101.105.69:27886] /public_html/public/.htaccess: <IfModule> directive requires additional arguments
我发现这个话题听起来像我的问题; Laravel空白屏幕
但我在共享主机上,没有SSH访问权限。如何在共享主机上执行此修复程序?
根据评论进行修改:我的/public_html/public/.htaccess文件是:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
<IfModule>
RewriteEngine On
# 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]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
答案 0 :(得分:1)
看起来你的.htaccess中有一个空白的IfModule指令。您需要更新它以说明它正在查询存在的模块。看到: http://httpd.apache.org/docs/2.4/mod/core.html#ifmodule
或发布.htaccess寻求帮助。
例如,要在.htaccess中定义一个仅在服务器上加载php模块时应用的块,您可以使用:
<IfModule mod_php5.c>
或者,如果它是结束指令,那么您缺少正斜杠,需要将其更改为:
</IfModule>
参考:error 500 for .htaccess error 参考:https://serverfault.com/questions/257986/error-500-for-htaccess-error