Php 如何从以.jpg结尾的URL读取参数
我有一个名为Php 如何从以.jpg结尾的URL读取参数,php,image,.htaccess,mod-rewrite,optimization,Php,Image,.htaccess,Mod Rewrite,Optimization,我有一个名为image.php的脚本,它可以进行一些图像处理,比如调整大小和优化。我已经编写了.htaccess来省略结尾处的.php,现在我有了如下内容: http://www.example.com/images/imageFolderPath/myImage.jpg?width=100&keep_aspect=1&quality=80 其中参数应传递给images.php,并用于操作imageFolderPath/myImage.jpg 我的问题是我不知道如何编写.hta
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网站上了解到了整个想法,他们是如何像这样操纵自己的图像的
这是迄今为止我的.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
在
行的重写引擎下方插入此规则:
RewriteRule ^images/(.+)\.(jpe?g|png|gif)$ images.php?image_path=$1.$2 [L,QSA,NC,R=302]
图像
不是文件夹,原始URL是http://www.example.com/images.php/imageFolderPath/myImage.jpg?width=100&keep_aspect=1&quality=80
。此外,我无法确定将传递多少个参数,如果其中任何一个参数未设置,则默认值将使用它,我想提取imageFolderPath/myImage.jpg
和之后的任何其他参数?
它不起作用,请向我解释上述规则是如何工作的,也许我可以找出我遗漏了什么。URL中有4个部分:基本URLhttp://www.example.com
,php脚本images.php
重写为images
,图像路径imageFolderPath/myImage.jpg
和参数width=100&keep\u aspect=1&quality=80
。是的,我希望URL以这种方式处理,这就是我目前的所有规则。是否可以重定向此localhost/images/images/imageFolderPath/myImage.jpg?宽度=100&keep_aspect=1&quality=80
tolocalhost/images.php?image\u path=imageFolderPath/myImage.jpg&width=100&keep\u aspect=1&quality=80
。我相信这会解决我的问题。