標題重寫為:當圖片名稱包含連字符、過長或依賴其位置時,圖片載入將受阻
P粉794851975
P粉794851975 2024-01-16 18:25:49
0
1
441

我有一些圖片放在我的網站下的 C:\xampp\htdocs\catshop\assets\img 資料夾中。如果圖片的名字像 food-adult-wet-meo-sardine-in-prawn-jelly-400g,它不會在網站上顯示。然而,如果名字像 can1.pngcan-1.png,它會正確顯示(儘管它們在同一個位置)。如果我把它命名為 food-prawnjelly.png,即使只有一個連字符,它也不會顯示。 foodprawnjelly.png 也不行。

如果我把圖片移到C:\xampp\htdocs\catshop\assets\img\food,它也不會顯示,即使它的名字之前是可以「工作」的,例如can1.png

我不知道這是否相關或是否是導致問題的原因,但是我正在使用重寫規則來建立漂亮的連結。一個連結像catshop/food/adult-cat.food 會被重寫為show-category.php,在那裡進行適當的過濾以顯示來自adult-cat -food 的產品。我已經為圖片路徑使用了絕對連結(例如 /catshop/assets/img/can-1.png

使用的重寫規則:RewriteRule ^(\w )/(\w )$ show-category.php [NE,L]

#如果需要提供更多信息,請告訴我,謝謝!

catshop
├─ .htaccess
├─ assets
│  ├─ bootstrap
│  ├─ css
│  ├─ fonts
│  ├─ img
│  │  ├─ can-1.png
│  └─ js
├─ index.php
├─ login.php
├─ register.php
├─ show-category.php
└─ logout.php

編輯:.htaccess 檔案的內容

<IfModule mod_rewrite.c>

    Options +FollowSymLinks
    RewriteEngine On    # 打开重写引擎
    RewriteRule    home   index.php    [NC,L]    
    RewriteRule    food   show-category.php    [NC,L]    

    RewriteRule   ^((\w+)\/)+(\w.+)$  show-category.php    [NE,L]    

</IfModule>

P粉794851975
P粉794851975

全部回覆(1)
P粉604669414

根據我的理解,

  1. 您希望直接從/catshop/assets位置解析圖像等
  2. 任何.php檔案必須解析
  3. 任何其他不包含單字「home」的URL必須解析為/catshop/show-category.php

(請注意:您可能希望更改對home的使用,因為這將匹配任何包含home單字的字串)

<IfModule mod_rewrite.c>

    Options +FollowSymLinks
    RewriteEngine On    # 打开重写引擎
    RewriteRule    home   index.php    [NC,L]    
    RewriteRule   ^((?!assets)\w+\/)+(\w+\.\w+)(?<!\.php)$  catshop/show-category.php    [NE,L]    

</IfModule>

這將尋找不包含單字assets.php的任何URL部分

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板