如何解决错误:在此服务器上找不到请求的URL /登录 Laravel
PHP 7.4.9
Laravel 7.20.0
Appache 2.4.6
RedHat 7
我在服务器上部署了laravel项目,并且收到以下错误消息:
Not Found
The requested URL /login was not found on this server.
我尝试了几乎所有在线找到的解决方案。 问题保持不变。 mod_rewrite已启用。 我在httpd.conf中添加了多行并修复了DocumentRoot
/etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html/chatbot/public"
<Directory "/var/www/html/chatbot/public">
AllowOverride All
</Directory>
/ var / www / html / chatbot / public / htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
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>
请注意,当我尝试将DocumentRoot链接到新的laravel项目时,它可以正常工作,但是对于已部署的代码,它不起作用(收到上述错误)。
公共文件夹:
解决方法
laravel文档:
如果Laravel随附的.htaccess文件不适用于您的 安装Apache,尝试以下替代方法:
Options +FollowSymLinks -Indexes
RewriteEngine On
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
在此之后,重新启动您的apache服务器
,我的问题太傻了。 我从以下位置更改了文件夹名称:
htaccess
收件人:
.htaccess
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。