首页 > 解决方案 > 为什么图像在 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>

问题出在哪里

标签: laravel

解决方案


首先尝试永远不要更改.htaccess文件,除非它是服务器操作。您需要检查两件事: 1. 使用默认的 .htaccess 文件,然后检查运行项目。

如果这不起作用,那么你可以试试这个:

  1. 转到供应商/laravel/framework/src/Illuminate/Foundation/helpers.php
  2. 按 CTRL + F 并搜索资产
  3. 如果开发人员未进行任何更改,您的默认资产函数应如下所示

    函数资产($path, $secure = null) { return app('url')->asset("/".$path, $secure); }


推荐阅读