.htaccess 删除链接中的双 https:// http://



我正在一个客户网站上工作,一些奇怪的原因,他们的很多链接都像这样显示:https://http://yourdomain.com/xxxx

当我使用控制台查看源代码时,单击链接可以并重定向到 https://yourdomain.com 但是当它是首页(没有打开控制台(时,单击按钮(链接(,将打开https//yourdomain.com,将缺少":"或"//">

我试图找到这些内容的来源,但没有运气,我不能不使用DB来删除旧的"HTTP",因为每次他们创建新资源时仍然会有 https://http://

所以我想知道我是否可以使用 .htaccess 文件来检测所有这些"https://http://"链接以仅直接"https://"。

感谢您的帮助!

我认为它在.htaccess中不实用。 但是,作为解决问题原因之前的临时解决方案,您应该能够在WordPress最终"输出"页面时添加代码来替换不良链接。

我打算写一个解决方案,但发现我只需要修改堆栈交换上已经存在的"最终输出"代码(本身基于本文(

尝试将以下内容添加到主题的功能.php,或永久添加到您自己的自定义站点特定插件中。

function my_linkfix_callback($buffer) {      
$buffer = str_replace( 'https://http://' , 'https://' ,$buffer);
return $buffer; 
}
function my_linkfix_buffer_start() { ob_start("my_linkfix_callback"); } 
function my_linkfix_buffer_end() { ob_end_flush(); }
add_action('after_setup_theme', 'my_linkfix_buffer_start');
add_action('shutdown', 'my_linkfix_buffer_end');

显然,这只是一个临时解决方案,直到您解决问题的原因

最新更新