如何解决.htaccess 规则将图像文件的直接视图重定向到页面,图像作为查询字符串传递
如果有人试图直接访问此文件夹中的任何图像,我想: https://www.example.com/map-images/example-image-123.jpg
他们被重定向到一个页面,将图像名称作为查询字符串传递,最后到这里: https://www.example.com/map-image-viewer?imagename=example-image-123.jpg
澄清:在地图图像查看器页面上,我需要能够将 example-image-123 用作 iframe 中的 src(即使我不允许直接访问地图图像文件夹中的图像)。请注意,我不想使用禁止标志阻止图像访问,因为我确实希望图像能够被搜索引擎索引。不确定这是否可能?
更新:我尝试了以下操作,它确实将特定图像的查看重定向到地图图像查看器页面,并将图像名称作为查询参数传递。 但是,图像不能再用作地图图像查看器页面上 iframe 中的 src:
RewriteCond %{REQUEST_URI} ^/map-images/(.*)$
RewriteRule ^(.*) /map-image-viewer?imagename=%1 [R=301,L]
我可能遗漏了一些明显的东西,但希望得到帮助:)
解决方法
您几乎已准备就绪,只需在规则中再添加一个条件即可。如果查询字符串为空,我添加了条件来检查条件,然后仅通过此重定向我们不会卡在无限重定向循环中,在这里修复 OP 的尝试。
请确保在测试任何 URL 之前清除浏览器缓存。
RewriteEngine ON
RewriteCond %{REQUEST_URI} ^/map-images/(.*)/?$ [NC]
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*)$ map-image-viewer?imagename=%1 [R=301,L]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。