gpt4 book ai didi

image - 如何将 WORDPRESS 热链接图像(对于 exp : Image. jpg)重定向到它所在的帖子/页面?

转载 作者:行者123 更新时间:2023-12-02 05:02:48 26 4
gpt4 key购买 nike

最近谷歌改变了图片搜索,结果大部分流量点击查看原始图片并将它们发送到直接图片文件。

我已经更改了我的 .htaccess 并停止所有热链接并在他们点击图像文件时重定向到我的主页。

最近我也尝试过是否可以重定向到图像所在的帖子或页面。

通过以下代码

<?php 
require('../wp-blog-header.php');
$imageURL = strip_tags( $_GET['id'] );
if imageURL!== "") {
$query = "SELECT ID FROM $wpdb->posts WHERE post_type = 'attachment'AND post_parent > '0' AND guid = '$imageURL'";
$linkedImage = $wpdb-get_row($query);
$attachmentUrl = get_attachment_link($linkedImage->ID);
if($attachmentUrl !== "" && !is_numeric(stripos($attachmentUrl, "attachment_id=0"))) {
header("HTTP/1.1 302 Found");
header("Location: ". $attachmentUrl);
exit;
}
}
$newUrl = get_site_url() . "/image-not-found";
header("HTTP/1.0 404 Not Found");
header("Location: " . $newUrl);
exit;
?>

但它重定向到http://www.mydomain.com/?attachment_id=

id 为 nil 或无法获取正确的 id

我在 Wordpress CMS 版本 3.5.1 中的网站

任何人都可以帮助如何重定向到 .jpg 文件直接请求的正确附件页面。

提前致谢

最佳答案

只有当请求的 URL 上有一个 ID 参数与图像 URL 完全匹配时,您的代码才会起作用,例如 http://www.example.com/?id=http://www.example.com/uploads/Some-Image.jpg

是这样吗?即便如此,您也不应该使用 id 因为它是 WP 中其他内容的保留参数。在你的 .htaccess 中,你应该重定向 http://www.example.com/uploads/Some-Image.jpg例如,http://www.example.com/?image_redirect=http://www.example.com/uploads/Some-Image.jpg .然后使用 $imageURL = $_GET['image_redirect']

其他注意事项:strip_tags 不能使字符串安全地用作 SQL 查询。在 WordPress 中,你有 esc_sql($string) 。此外,您应该使用 if ( $imageUrl != '' ),而不是 !==。第 5 行有一个错误,它应该说 $wpdb->get_row,您当前有一个减号。我认为这些是错别字。最后,您不应该使用状态代码为 404 的 Location: header 。

关于image - 如何将 WORDPRESS 热链接图像(对于 exp : Image. jpg)重定向到它所在的帖子/页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14784762/

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