gpt4 book ai didi

regex - 不同域图片的 URL 重写

转载 作者:行者123 更新时间:2023-12-01 02:46:18 25 4
gpt4 key购买 nike

我想使用如下所示的 URL:

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

在哪里可以找到 3个参数检索重写:
  • 320x200 : 可选参数,可以是两个数字(如“320x200”),或单个数字(如“320x”)或空(仅“x”)
  • server : 必需(这是查找托管图像的服务器的特定参数,但在这种情况下并不重要)
  • 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]+.*$

    将防止循环。

    关于regex - 不同域图片的 URL 重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6775066/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com