我有一个laravel应用程序,可以在本地计算机上正常运行。我刚刚将其转移到服务器(共享主机)中,并将所有内容放在public_html的公用文件夹中,而所有其他内容都放在public_html上方的一步中。现在的问题是,每条路线上显示500内部错误。我已将.htaccess代码更改为文档中的给定代码,将存储和引导程序的文件夹权限设置为777。
错误日志中没有任何内容,laravel日志文件中也没有任何内容。当我安装新的laravel安装时,它也可以在服务器上工作。在我的项目中尝试过更新的代码,但仍然出现500个内部错误。
答案 0 :(得分:1)
对于 Laravel 8 / IONOS 托管服务器,这对我有用:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteBase /
Options +FollowSymLinks
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
答案 1 :(得分:0)
该错误可能是由于.env文件的配置所致。您的问题还不够清楚。所以我将解释两种方法
带有供应商和.env文件(不推荐) -解压缩主zip文件并上传您的public_html文件夹(上传 供应商文件夹)
赋予777对存储/和引导程序/文件夹的递归权限
在phpmyadmin中创建数据库并导入.sql文件
在.env文件中设置数据库
现在,对于所有共享主机,通常您将SSH入狱,您可以联系主机提供商以获取其详细信息。
获得访问权限后,请使用命令
php artisan cache:clear
php artisan config:clear
php artisan config:cache
文件本身可以在bootstrap / cache / config.php中找到。
请注意,最近编译的配置文件的位置已更改。您可能也位于vendor / config.php或storage / framework / config.php中。全新安装或运行composer update时,文件应位于引导程序/缓存中。
现在直接从GIT或其他来源获得,无需供应商(推荐)
确保复制所有项目文件,包括隐藏的项目文件(.env)。
如果您使用的是GIT,请使用GIT克隆来克隆项目。
检查与Laravel要求一样,php.ini中具有所有必需的PHP扩展。另外,请注意您的PHP版本!
安装作曲家https://getcomposer.org/doc/00-intro.md
复制后,转到目标文件夹并运行作曲家安装。
运行php artisan key:从命令行生成。
然后运行
php artisan cache:clear
php artisan config:clear
php artisan config:cache
http://php.net/manual/en/install.windows.commandline.php
确保您的网络服务器正在提供来自项目/公用文件夹的页面。
即使完成了这些步骤之后,如果Laravel仍然显示错误,请检查 your_project / storage / logs / laravel.log
答案 2 :(得分:0)
如果您使用的是IONOS(或1and1,也许还有其他用途……),则.htaccess
文件应与laravel公共目录中的默认文件不同。
用以下内容替换其内容:
RewriteBase /
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]