微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravel公共内容无法在共享主机上访问

如何解决Laravel公共内容无法在共享主机上访问

我正在使用PHP 7.4和Laravel的共享主机。 我在根www /文件夹中创建了项目,然后需要添加htaccess文件来加载index.PHP

source file: www/.htaccess

<IfModule mod_rewrite.c>
  RewriteEngine On

  RewriteRule ^ /public/index.PHP [L]
</IfModule>

它允许我加载网站,但从那时起就无法加载公共内容。 运行本地服务器,我可以加载样式表等公共资源

<link rel="stylesheet" href="{{ URL::asset('css/main.css')}}">

但是在生产环境中,它会在生成的源上返回404

<link rel="stylesheet" href="http://neovita.web277.uni5.net/css/main.css">

解决方法

很明显,CSS文件的正确URL是http://neovita.web277.uni5.net/public/css/main.css

如果有问题的共享托管允许您将文件和文件夹与www文件夹放在同一级别,则可以将www文件夹设置为Laravel项目的“公共”文件夹(通过将公共名称重命名为www)。此处的详细信息:How to change public folder to public_html in laravel 5

,

.htaccess中添加

RewriteEngine On
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。