Laravel问题加载资产400错误请求
Posted
技术标签:
【中文标题】Laravel问题加载资产400错误请求【英文标题】:Laravel problem loading assets 400 bad request 【发布时间】:2019-05-31 19:19:38 【问题描述】:我有一个在本地主机上完美运行的 Laravel 网站,但是当我部署它时,从公共目录加载资产或其他文件时出现问题。
错误请求 您的浏览器发送了此服务器无法理解的请求。
这是我的 apache 虚拟主机:
<VirtualHost IP:8181>
ServerName my-domain.com
ServerAlias www.my-domain.com
ServerAdmin info@my-domain.com
DocumentRoot /home/user/public_html/laravel/public
UseCanonicalName Off
ScriptAlias /cgi-bin/ /home/user/public_html/cgi-bin/
ErrorLog /usr/local/apache/domlogs/my-domain.com.error.log
<IfModule mod_setenvif.c>
SetEnvIf X-Forwarded-Proto "^https$" HTTPS=on
</IfModule>
<IfModule mod_userdir.c>
UserDir disabled
UserDir enabled user
</IfModule>
<IfModule mod_suexec.c>
SuexecUserGroup user user
</IfModule>
<IfModule mod_suphp.c>
suPHP_UserGroup user user
suPHP_ConfigPath /home/user
</IfModule>
<IfModule mod_ruid2.c>
RMode config
RUidGid user user
</IfModule>
<IfModule itk.c>
AssignUserID user user
</IfModule>
<Directory "/home/user/public_html">
AllowOverride All
</Directory>
</VirtualHost>
这是 apache 日志:
请求 GET \@backend HTTP/1.0 中的 URI 无效
有很多 laravel 站点,它们都是正常的,但我对这个有问题。我无法弄清楚这个问题。
我的vHost.conf
没问题,我的.env
文件没问题,但是我无法加载css / js / robots.txt / 等任何资产... (保存在公共目录中的任何内容)强>。
你有什么想法吗?
【问题讨论】:
资产目录的权限设置是什么? 是 755。CWP 自动管理权限@Iftikharuddin 我认为问题不在于缺少文件或路径错误。您将得到 440 或 500。400 错误表示请求格式错误。您的请求 \@backend 看起来很奇怪。此 URI 中有一个反斜杠 \ 和一个 @。这可能在本地 Windows 上的某些测试中有效,但是您确定托管网站允许吗?您是否尝试过对反斜杠进行编码,例如 GET %5C@backend ? 【参考方案1】:我想改变
<Directory "/home/user/public_html">
AllowOverride All
</Directory>
到
<Directory "/home/user/public_html/laravel/public">
AllowOverride All
</Directory>
可能有帮助吗?
【讨论】:
【参考方案2】:将您的文档根目录更改为/home/user/public_html
。
【讨论】:
以上是关于Laravel问题加载资产400错误请求的主要内容,如果未能解决你的问题,请参考以下文章
Laravel Paypal IPN 与 localtunnel 随机 400 错误请求
Steam 发布请求 - 加载资源失败:服务器响应状态为 400(错误请求)