2013-02-28 82 views
0

大家都知道的Joomla與規範問題的一些相當大的問題,並沒有真正解決這一問題的辦法......我已經寫了檢查的URL代碼和增加了相對=規範鏈接...PHP代碼來解決問題,規範與Joomla

的代碼是這樣的:

<?php 
$canonicalLink = "http://".$_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"]; 
if ($canonicalLink == 'http://domain.edu.au/index.php') 
echo '<link rel="canonical" href="http://domain.edu.au/">'; 
if ($canonicalLink == 'http://domain.edu.au/?view=featured') 
echo '<link rel="canonical" href="http://domain.edu.au/">'; 
?> 

的作品,但我的問題是:

我有我的網站頁面太多了,這如果聲明將是瘋狂的巨大

有沒有辦法將其轉換爲函數?那會從列表中讀取網址?

類似:

list: 

http://domain.edu.au/?view=featured | http://domain.edu.au/ 
http://domain.edu.au/?view=contact | http://domain.edu.au/contact-us 
http://domain.edu.au/?view=about | http://domain.edu.au/about-us 
http://domain.edu.au/category-a/subcategory-a | http://domain.edu.au/category-main/subcategory-main 

功能:

function (a | b){ 
if (a) 
echo 'b' 
} 

,並在一個循環槽全部負載榜單來看...

這是否有道理?還是我完全在這裏?

歡呼聲,丹

回答

0

你可以做這樣的事情:

//populate $list with the end of the actual uri as the key 
//and what you want the actual uri to be as the value 
$list = array(
    '/index.php'=>'', 
    '/?view=featured'=>'', 
    '/?view=contact'=>'contact-us', 
    '/?view=about'=>'about-us', 
    '/category-a/subcategory-a'=>'category-main/subcategory-main' 
); 

echo '<link rel="canonical" href="http://domain.edu.au/'.$list[$_SERVER["REQUEST_URI"]].'">'; 

這使得它,所以你不必做任何if邏輯。它變成了一個直觀的查找值。

+0

對不起,我想我忘了,更不用說我把這些代碼在模板的index.php文件所以這段代碼將,網站的每個網頁上運行,這就是爲什麼我需要的if語句那裏檢查我們是什麼頁面在...上,並在頁面上放置正確的規範鏈接。 – dan 2013-02-28 06:13:26

+0

@dan - 由於$ _SERVER [「REQUEST_URI」]部分,此代碼將檢查您所在的頁面。嘗試使用此代碼並讓我知道發生了什麼。 – Aust 2013-02-28 06:16:43

+0

沒有沒有工作,所有我得到的每一頁 <鏈接的rel =「規範」 HREF以下鏈接=「http://domain.edu.au/」。$列表[$ _ SERVER [「REQUEST_URI 「]]> – dan 2013-02-28 06:19:45