通过正则表达式 oscthumb.php 查询字符串无法重定向

Posted

技术标签:

【中文标题】通过正则表达式 oscthumb.php 查询字符串无法重定向【英文标题】:Redirection through Regular expression oscthumb.php query string unable 【发布时间】:2019-03-29 06:47:08 【问题描述】:

我无法解决这个问题。我需要重定向这种网址:

http://www.example.com/oscthumb.php?src=/images/image.jpg

http://www.example.com/oscthumb.php?src=/images/image.jpg&w=150&h=131.8125&f=jpg&q=95&hash=317ec2edb3fa82e56787a5f3308d5e96

http://www.example.com/images/image.jpg

没有参数。 Image.jpg 可以变化

如何在.htaccess 中做到这一点?

我试过了,但它不能正常工作:

RewriteEngine On
RewriteCond %REQUEST_URI  ^/oscthumb\.php$
RewriteCond %QUERY_STRING ^src=(.*)$
RewriteRule ^(.*)$ http://example.com/%1 [R=301,L]

【问题讨论】:

嗨,欢迎来到 ***。请记住,SO 不是一种代码编写服务,到目前为止您尝试过什么,为什么没有帮助? 到目前为止,这是我设法得到的最好的:[code]RewriteEngine On RewriteCond %REQUEST_URI ^/oscthumb\.php$ RewriteCond %QUERY_STRING ^src=(.*)$ RewriteRule ^(.*)$ example.com/%1 [R=301,L][/code] 最后我只需要捕获图像文件的名称和扩展名,这样我就可以输出example.com/images/Filename.Extension @MandyShaw 你能帮我吗?谢谢 嗨,恐怕我只是检查问题的人,以确保社区有足够的信息来获取它 - 恐怕我不是主题专家. 【参考方案1】:

尝试使用此代码:

$url = $_GET['src'];
header('Location: http://www.example.com/' . $url);
exit;

编辑: .htaccess:

RewriteEngine On
RewriteCond %REQUEST_URI \.jpg
RewriteRule =([^=]+\.jpg) http://example.com$1 [R=301,L]

【讨论】:

我想通过.htaccess来做,可以吗? 有可能,但您发布了标签 'php'))) 对不起,我的错是第一个问题。你知道在 htaccess 中是怎样的吗? @andrewbaltimore 你的网址中是否有每次images/image.jpg 代码,或者它可以是不同的图像? image.jpg 更改为可以包含字母、数字和破折号的不同名称

以上是关于通过正则表达式 oscthumb.php 查询字符串无法重定向的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB,通过正则表达式对索引字段的查询性能

c# 正则表达式截取字符串

如何在配置单元中使用正则表达式排除字符串中的特殊字符

模块3 re, 正则表达式 详解!!!

mongo 正则表达式查询是不是有字符限制,如果正则表达式搜索字符串超过该限制,则会引发错误

从查询字符串中删除一个参数的正则表达式