我有一些图片放在我的网站下的 C:\xampp\htdocs\catshop\assets\img
文件夹中。如果一个图片的名字像 food-adult-wet-meo-sardine-in-prawn-jelly-400g
,它不会在网站上显示。然而,如果名字像 can1.png
或者 can-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粉6046694142024-01-17 09:49:34
根据我的理解,
/catshop/assets
位置解析图像等/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部分