.htaccess 如何从以.jpg结尾的URL读取参数

svdrlsy4  于 2022-11-16  发布在  其他
关注(0)|答案(2)|浏览(149)

我有一个名为image.php的脚本,它可以对图像进行一些操作,比如调整大小和优化。我已经编写了.htaccess,在结尾处省略了.php,现在我有了这样的脚本:

http://www.example.com/images/imageFolderPath/myImage.jpg?width=100&keep_aspect=1&quality=80

其中假定参数被传递到images.php并用于操作imageFolderPath/myImage.jpg
我的问题是我不知道如何编写.htaccess,它将imageFolderPath/myImage.jpg作为参数读取,并沿着其他参数(如果存在)。
我从AirBnB网站上得到了整个想法,他们是如何像这样处理他们的图像的
https://a1.muscache.com/ic/discover/94?interpolation=lanczos-none&output-format=jpg&output-quality=70&v=33b4f2&downsize=326px:326px
这是我目前为止的.htaccess:

#RewriteOptions inherit
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://www.example.com

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1
anauzrmj

anauzrmj1#

RewriteEngine On行的正下方插入此规则:

RewriteRule ^images/(.+)\.(jpe?g|png|gif)$ images.php?image_path=$1.$2 [L,QSA,NC,R=302]
xfyts7mz

xfyts7mz2#

您可以使用以下命令分析php中的请求URI:

$_SERVER ['REQUEST_URI'];

它将包含有关用户请求的路径的信息,还应包括文件名。

相关问题