说到.htaccess,我还是个新手
我有一些图像需要重定向。
示例:
assets/images/image1.png重定向到
assets/images/image1_v2.png所以当你直接访问它的时候:
https://www.example.com/assets/images/image1.png它被重定向到:
https://www.example.com/assets/images/image1_v2.png注意:image1.png和image1_v2.png是两个不同的镜像,当它被直接访问时,我只考虑重定向它。
发布于 2020-10-15 20:27:13
我假设你所说的“直接访问”是指当用户直接在浏览器的地址栏中输入URL时?在这种情况下不会发送HTTP Referer报头。
在根.htaccess文件的顶部,您可以执行类似以下操作,将用户从外部“重定向”到新的图像URL:
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^$
RewriteRule ^assets/images/image1\.png$ /assets/images/image1_v2.png [R,L]请注意,这是302 (临时)重定向。
或者,为了避免重复,您可以将RewriteRule指令更改为:
RewriteRule ^(assets/images/image1)\.png$ /$1_v2.png [R,L]$1反向引用通过从请求的URL-path中捕获“assets/Image1/Image1”部分并在替换字符串中使用它来避免重复。
请注意,用户(通过他们的浏览器)可以控制作为请求的一部分发送的Referer头,因此用户可以使其看起来像“直接请求”,而实际上不是“直接请求”。
https://stackoverflow.com/questions/64366850
复制相似问题