我们目前正在使用prestashop 1.5.6.2并通过第三方php函数将一个巨大的xml文件(14k行)导入到mysql中。 一切都很好,直到prestashop产品页面。 但在产品页面prestashop调用图像
<img src="http://www.domain.com/img/p/1/1/3/113-large_default.jpg" title="Product Name" alt="Product Name" id="bigpic" width="264" height="264">
我们期待
<img src="http://www.domain.com/img/p/113/113-large_default.jpg" title="Product Name" alt="Product Name" id="bigpic" width="264" height="264">
Unfortuanetly; Prestashop在第一个产品ID之间添加斜杠;
/1/1/3/113-large_default.jpg
我不确定但它是某种.htaccess rewriterule问题。 我们的.htaccess看起来像;
<IfModule mod_rewrite.c>
<IfModule mod_env.c>
SetEnv HTTP_MOD_REWRITE On
</IfModule>
# Disable Multiviews
Options -Multiviews
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.domain.com.tr$
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]
# AlphaImageLoader for IE and fancybox
RewriteCond %{HTTP_HOST} ^www.domain.com.tr$
RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]
RewriteCond %{HTTP_HOST} ^www.domain.com.trm$
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]
# AlphaImageLoader for IE and fancybox
RewriteCond %{HTTP_HOST} ^www.domain.com.trm$
RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]
</IfModule>
#If rewrite mod isn't enabled
ErrorDocument 404 /index.php?controller=404
如果遇到某种问题,有人可以提供帮助吗?
答案 0 :(得分:1)
没有重写问题,图像路径正确。
如果您想使用自定义图片路径,请在product.tpl
中使用以下内容更改图片代码:
<img src="img/p/{$product->id}/{$product->id}-large_default.jpg">
答案 1 :(得分:0)
从乔恩·林的答案here
复制而来URL中的额外斜杠会更改相对URL的基数。所有你的 您内容中作为相对URL的链接现在将使用 不正确的基数。您可以使用绝对网址来解决此问题 (以
/
开头)或在页面标题中添加基数:
<base href="/" />