1

我正在使用 .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]
4

1 回答 1

0

对于请求 URL

 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]
于 2013-07-01T17:00:54.763 回答