我终于为Laravel安装了所有东西,但我的主页上收到错误500!
它看起来像是我的.htaccess文件。如果我删除它页面工作。如果我把它放回去,另一个错误500。
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
如果我将第二行更改为“RewriteRule ^ index.php [L]”(在index.php之前没有空格),那么错误500就会消失,但重写规则将不起作用。
我的主人是1and1.com。
有人能帮助我吗?
答案 0 :(得分:15)
更改了这一行:
RewriteRule ^ index.php [L]
到此:
RewriteRule ^ /index.php [L]
现在它有效。我不仅没有得到500错误,而且URL似乎按预期工作。
答案 1 :(得分:3)
在我看来,500内部错误即将发生,因为您尚未在apache httpd.conf文件中设置虚拟主机。
将此行放在httpd.conf文件中
对于Windows
NameVirtualHost *:80
<VirtualHost *:80>
ServerName yourlaravel.com
DocumentRoot "C:/wamp/www/laravel/public"
<Directory "C:/wamp/www/laravel/public">
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName localhost
DocumentRoot "C:/wamp/www"
<Directory "C:/wamp/www">
</Directory>
</VirtualHost>
对于Linux
NameVirtualHost *:80
<VirtualHost *:80>
ServerName yourlaravel.com
DocumentRoot "/var/www/laravel/public"
<Directory "/var/www/laravel/public">
</Directory>
<VirtualHost *:80>
ServerName localhost
DocumentRoot "/var/www"
<Directory "/var/www">
</Directory>
</VirtualHost>
并在本地计算机上运行
对于打开的窗口,C:\ Windows \ System32 \ drivers \ etc \ hosts放置此行。
yourserverip yourlaravel.com
对于linux打开\ etc \ hosts放这行。
yourserverip yourlaravel.com
您可以参考此链接获取更多信息:
http://net.tutsplus.com/tutorials/php/building-web-applications-from-scratch-with-laravel/
我希望这可以提供一些帮助。
答案 2 :(得分:1)
对我来说,它可以在大多数项目中工作,而默认情况下,这将不起作用
sudo a2dismod php5.6 (Your php.ini file path version)
sudo a2enmod php7.3
sudo systemctl restart apache2
答案 3 :(得分:0)
我有一个类似的问题,错误突然发生在一夜之间。
我搜索了所有谷歌和Stackoverflow,但我找不到任何解决方案来解决这个问题,我一直收到500内部服务器错误。
我在共享主机上,甚至重命名.htaccess文件也没有用。
在.htaccess的背后我放了
php_flag opcache.enable 0
在结束</IfModule>
之前。这解决了我的问题。
答案 4 :(得分:-1)
我也遇到过这个问题,并通过评论.htaccess文件中的选项行解决了这个问题。
使用apache 2.4.x
<IfModule mod_negotiation.c>
#Options -MultiViews
</IfModule>
它可能与网站配置冲突。 因为它不能具有不同运算符的多个条件。
我找不到链接了。 但我以前在某处读过它。
编辑:找到link。
请注意
将选项与+或 - 混合使用无效语法,并且在服务器启动期间通过语法检查中止将被拒绝。
确保您的.htaccess和apache配置互不冲突。