使用sef链接后图片已经消失

时间:2014-01-21 22:03:16

标签: php .htaccess

这是问题

我的产品页面有此网址 - example.com/products.php?id=5&page=yzf-r-125

我想将网址重写为 - example.com/motorcycles/super-sport/yzf-r-125-5.html

我已将以下规则添加到.htaccess文件

RewriteRule ^(.*)/(.*)/(.*)-(.*)$ products.php?id=$4&page=$3 [L,NC]

手动链接第一个和第二个变量,如:

<a href=<php echo $category>/<php echo $subcategory>/<php echo $product>-
  <php echo $id> > (i know this code wrong i hope you understand what i mean )

当我输入example.com/motorcycle/super-sport/yzf-r-125-5

时,网址有效

然而,链接和图像被破坏了。实施例

损坏的图片网址:example.com/motorcycle/super-sport/images/image.png 但是我的图片路线:example.com/images/image.png

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

您需要在页面标题中设置相对URI基数:

<base href="/" />

或者将图片链接更改为绝对网址:

<img src="/images/image.png">

答案 1 :(得分:0)

我会在重写规则前加上条件来重写一个url,只要资源没有exixts

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(.*)/(.*)-(.*)$ products.php?id=$4&page=$3 [L,NC]

保持html不受影响