laravel - 为什么图像在 laravel 中有 index.php
问题描述
我有一个现成的 laravel 项目。图像存储在 public/assets 中,它们在本地正确显示,但在服务器上,路径看起来像http://www.----//public/index.php/assets/ dist/img/160x160.jpg即它添加了 index.php。公共的 css 和 js 文件加载正确我使用asset('public/assets/img/...gif') 用于图像,同样用于jsasset('/assets/dist/js/....js' ) 和我在 root lokks 上的 .htaccess 喜欢
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ ^$1 [N]
RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
RewriteRule ^(.*)$ public/$1
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ server.php
</IfModule>
问题出在哪里
解决方案
首先尝试永远不要更改.htaccess文件,除非它是服务器操作。您需要检查两件事: 1. 使用默认的 .htaccess 文件,然后检查运行项目。
如果这不起作用,那么你可以试试这个:
- 转到供应商/laravel/framework/src/Illuminate/Foundation/helpers.php
- 按 CTRL + F 并搜索资产
如果开发人员未进行任何更改,您的默认资产函数应如下所示
函数资产($path, $secure = null) { return app('url')->asset("/".$path, $secure); }
推荐阅读
- angular - 如何将此选项作为角度中的单选按钮
- javascript - Javascript:为什么`const number = 0; number.foo` 返回 `undefined`,但 `0.foo` 抛出 `Invalid or unexpected token`
- javascript - JavaScript:如何按以字符串形式给出的特定顺序对对象数组进行排序?
- vue.js - Vuejs 没有改变对变量变化的看法
- r - 当模块函数有额外参数时,是否可以用 moduleServer 替换 callModule?
- c++ - 是否可以将固定大小的数组作为 unordered_map 键
- sql - 是日期到to_date,因为时间是to_time(在sql中?)
- linux - 消息:在 macOS Big Sur 版本 11.6 上执行 scp 命令时超出文件大小限制
- filter - 用 GL 账户过滤成本中心并取总
- salesforce - salesforce 开发人员 - SFDX:从 Org 检索源