我正在使用.htaccess将所有图像请求转发到PHP脚本,该脚本将在返回请求之前调整大小并裁剪所提供的图像。这是一个例子:
假设我想要这张图片,默认尺寸为900x100: http://www.mysite.com/images/header.jpg
好吧,我希望它的大小和裁剪为500x95。所以我改为提出这个要求: http://www.mysite.com/images/header_500x95.jpg
我正在使用htaccess来管理它。这是我正在使用的代码:
RewriteRule ^(.*)_(.*)x(.*).jpg image.php?u=$1&w=$2&h=$3 [PT,L]
您可以告诉我,我的意思是让htaccess去掉文件名和维度,并将它们作为变量传递给image.php文件。
直到今天,它一直在努力。我不确定出了什么问题。有什么想法吗?
这是完整的.htaccess文件:
RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)_(.*)x(.*).jpg image.php?u=$1&w=$2&h=$3 [PT,L]
答案 0 :(得分:0)
对于请求网址
http://www.mysite.com/resizedimages/header_500x95.jpg
你的重写规则
RewriteRule ^(.*)_(.*)x(.*).jpg image.php?u=$1&w=$2&h=$3 [PT,L]
实际上会将resizedimages/header
与$1
匹配。
将其更改为
RewriteRule /?(.*)_(.*)x(.*).jpg$ image.php?u=$1&w=$2&h=$3 [PT,L]