![](/img/trans.png)
[英]Tags from head moved to body from Kohana generated html in Chrome
[英]Correcting wrongly generated href link in the HTML <head> and <body> of Joomla
我在多語言網站上使用的 Joomla 3 模板之一在 HTML 標題和正文中生成錯誤的 href 標簽鏈接。 所有多語言頁面上的 href 都寫着:
in the HEAD link href="https://domain/page?layout=post" rel="alternate" hreflang="en-GB" /> in the BODY a href="/fr/page?layout=post">
並且應該是
link href="https://domain/page" rel="alternate" hreflang="en-GB" /> and a href="/fr/page">
我目前使用了 .htaccess 文件的臨時重寫; 然而,這產生了數百個 301 重定向,我確信這不是一個好的 SEO 解決方案。
因為找到原點並永久更正代碼需要一些時間,所以我需要一些 PHP 幫助來刪除字符串?layout=post並在 和 中顯示正確的 href 鏈接。
這是我正在使用的版本。 我在干凈的 php 上制作它。
<?php
// your full url
$url = 'https://www.shop.com/en/category/tv-video-and-audio/';
//accepted languages or site version
$langs = array(
'en',
'cn',
'ru'
);
//function to render full page link in all languages
function renderhrefurl($url = NULL, $lang = NULL){
$exploded = explode('/', $url);
$exploded[3] = $lang;
return implode('/', $exploded);
}
//set hreflang attribute data
$hreflangs = array(
array(
'hreflang' => 'en',
'hrefurl' => renderhrefurl($url, 'en')
),
array(
'hreflang' => 'cn',
'hrefurl' => renderhrefurl($url, 'cn')
)
,
array(
'hreflang' => 'ru',
'hrefurl' => renderhrefurl($url, 'ru')
)
);
//generate result
foreach($hreflangs as $key => $item){
echo '
Key: '.$key.' - lang: '.$item['hreflang'].' = '.$item['hrefurl'];
}
echo '
------- Rendered Href Langs Tags ------- ';
//generate completed hreflangs
foreach($hreflangs as $key => $item){
echo '
<link rel="alternate" hreflang="'.$item['hreflang'].'" href="'.$item['hrefurl'].'" />';
}
?>
復制此代碼並在線粘貼到php 編譯器以顯示它是如何工作的。 並使用strtok('Your link with get parameter', '?');
刪除get參數!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.