加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 具有不同域的图像的URL重写

发布时间:2020-12-14 05:48:24 所属栏目:百科 来源:网络整理
导读:我想使用以下网址: http://mydomain.com/320x200/server/path/to/my/image.jpg 在哪里可以找到3个要重新检索的参数: 320×200:可选参数,可以是两个数字(如“320×200”),或单个数字(如“320x”)或空(仅“x”) server:required(这是查找托管图像的服务器
我想使用以下网址:

http://mydomain.com/320x200/server/path/to/my/image.jpg

在哪里可以找到3个要重新检索的参数:

> 320×200:可选参数,可以是两个数字(如“320×200”),或单个数字(如“320x”)或空(仅“x”)
> server:required(这是查找托管图像的服务器的特定参数,但对于这种情况并不重要)
> path / to / my / image.jpg:必需

并用另一个域重写它,如下所示:

http://myotherdomain.com/320/200/server/path/to/my/image.jpg

我尝试了以下重写规则,但它不起作用:

RewriteRule ^([0-9])x([0-9])/([a-zA-Z0-9])/([a-zA-Z0-9 /.])$htp:// myotherdomain. com / $1 / $2 / $3 / $4 [L]

RewriteRule ^([0-9])x /([a-zA-Z0-9])/([a-zA-Z0-9 /.])$htp://myotherdomain.com/$1/$2/$3 [L]

RewriteRule ^ x /([a-zA-Z0-9])/([a-zA-Z0-9 /.])$htp://myotherdomain.com/$1/$2 [L]

为什么不起作用?

当通过像regexplanet.com这样的网站测试时,3个正则表达式正在运行

我试图清除浏览器缓存,重新启动Apache,删除cookie,…仍然无法正常工作!

谢谢你的帮助

编辑:

最后,问题是我的.htaccess文件没有正确保存(不知道为什么).

我刚关闭并再次打开.htaccess,一切都好!

解决方法

你应该通过分组来划分工作.不要费心将x转换为/只是不捕获它.

RewriteRule ^([0-9]+)x([0-9]+/)([a-zA-Z0-9]+)/([a-zA-Z0-9/.]+)$http://myotherdomain.com/$1/$2$3/$4 [L]

RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9/.]+)$http://myotherdomain.com/$1/$2 [L]

>([0-9])分别捕获两个分辨率参数.
>(?:….)?是一个非捕获分组呈现可选.

编辑:

可选性是一个陷阱.不要使用它 – >第二条规则.

如果其他域最终是同一个域:

RewriteCond %{REQUEST_URI} ![0-9]+/[0-9]+.*$

会阻止循环.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读