这是情景:
图片来源可以是:
http://somewebsite.com/folder/someimage.jpg
OR
https://securewebsite.com/folder/someimage.jpg
我想在我的Wordpress主题(或插件本身)中使用一个函数,它将在显示网页之前更改部分图像URL。
更改图片网址的第一部分:
*** http://somewebsite.com/folder/***someimage.jpg
并将其替换为
*** https://securewebsite.com/folder/***someimage.jpg
我是php和wordpress的绝对noobie,我在这里向所有Guru学习。如果答案可以详细说明,那就太棒了。
问题在于解决Google Chrome的“混合内容”警告。
我确实在某处(在某个论坛上)看到了这段代码,所以我想这样的东西也适用于我的网站。
function rewrite_image_for_https(&$image_url) {
// Determine if site is being accessed by HTTPS
$secure = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == 443) ? TRUE : FALSE;
if ($secure) {
// Strip off protocol, and change protocol and domain to point at HTTPS image
$url = str_replace('http://insecureimagecource', '', $image_url);
$url = explode('/', $url);
$url[0] = 'https://secureimagesource';
$url = implode('/', $url);
$image_url = $url;
}
}
我也尝试了以下,没有任何作用:-(请帮忙
<?php
function rewrite_image_for_https () {
$url = preg_replace("/^http://insecureimages", "https://secureimages", $url);
}
?>
也试过这个......
<?php
str_replace('http://insecureimages.com', 'https://secureimages.com', $url);
?>
答案 0 :(得分:0)
有多种方法可以解决这个问题,例如:
str_replace('http://somewebsite.com', 'https://securewebsite.com', $url);
$parts = parse_url($url);
$secure = 'https://securewebsite.com'.$parts['path'];