htaccess重写不适用于图像

时间:2012-04-20 14:00:32

标签: php .htaccess

任何人都可以提供任何帮助,

我有一个旧的网址结构:产品/类别(类别是动态的,仅用作示例),我正在尝试更改为类别/产品,为此我使用

RewriteRule ^(.*)/products index.php?category=$1

这是有效的但问题是我的图像存储为图像/产品/图像,规则是写我的所有图像链接,

我试过了:

RewriteRule ^images/products/(.*) images/products/$1

只是为了重写图像,但它没有接缝才能正常工作

我的htaccess文件如下所示:

RewriteRule ^images/products/(.*) images/products/$1

RewriteRule ^(.*)/products index.php?category=$1

提前致谢,

2 个答案:

答案 0 :(得分:0)

最简单的方法是添加一条规则,以便不重写现有目录和文件的任何路径(您的图像......)。

您可以通过在重写规则之前添加这些规则来实现此目的:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)/products index.php?category=$1

答案 1 :(得分:0)

Jeroen的答案也适用,但您也可以将规则指定为终点

RewriteRule ^images/products/(.*) images/products/$1 [L]
RewriteRule ^(.*)/products index.php?category=$1

'[L]'应该阻止第二个规则被解析,因为第一个规则应该按预期工作。