(1)在catalog.php腳本中添加到彈出文件中一個鏈接,其實現(xiàn)代碼是下面代碼片段中的突出強調(diào)部分。注意,這里假設(shè)在之前中所創(chuàng)建的代碼基本之上進行添加。如果還沒準備好這些代碼,那么可以直接使用這一章下載的代碼。
<?php
require_once 'include/url_factory.inc.php';
?>
<li><a href="<?php echo make_category_product_url("Friends' Shed",2,"PHP E-Commerce Book",42);?>">Friends' Shed:PHP E-Commerce Book</a>
</li>
</ul>
<center><a href="popup.php" target="_blank">Find more about Professional Search Engine Optimization with PHP!</a>
</center>
</body></html>
(2)加載http://seophp.example.com/catalog.html,以確保腳本加載正確并且顯示了新的鏈接。注意,在這個例子中假設(shè)已經(jīng)建立了前面所示的簡單種類。
(3)在seophp文件夾中創(chuàng)建新文件popup.php,代碼如下:
<?php
require_once 'include/popup_utils.inc.php';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd>
<html>
<head>
<title>Professionla Search Engine Optimization with PHP:Table of Contents</title>
</head>
<body onload="window.resizeTo(800,600);" onresize='setTimeout("window.resizeTo(800,600);",100);'>
<h1>Professional Search Engine Optimization with PHP:Table of Contents</h1>
<?php
display_navigation();
?>
<ol>
<li>You:Programmer and Search Engine Marketer</li>
<li>A Primer in Basic SEO</li>
<li>Provocative SE-Friendly URLs</li>
<li>Content Relocation and HTTP Status Codes</li>
<li>Duplicate Content</li>
</ol>
</body>
</html>
(4)在seophp/include文件夾中創(chuàng)建新文件popup_utils.inc.php,代碼如下:
<?php
require_once 'config.inc.php';
function display_popup_navigation()
{
$disp_nav=false;
if(!isset($_SERVER['HTTP_REFERER']))
{
$disp_nav=true;
}else{
$parsed_referer=parse_url($_SERVER['HTTP_REFERER']);
$parsed_local=parse_url(SITE_DOMAIN);
$referer_host=$parsed_referer['host'];
if($referer_host != $local_host)
{
$disp_nav=true;
}
}
if($disp_nav==true)
{
echo '<a href="catalog.html">Visit our catalog page!</a>';
}
}
?>
(5)后進入http://seophp.example.com/catalog.html,單擊彈出窗口鏈接。沒有顯示任何導(dǎo)航。如何通過GOOGLE、YAHOO或者MSN單擊而彈出網(wǎng)頁,或者如果直接從瀏覽器地址進入http://seophp.example.com/popup.php,導(dǎo)航的鏈接可以顯示出來。
(6)現(xiàn)在可以來測試在前面提到的Refcontrol Firefox插件程序。這個插件允許顯示和更改REFERER信息。安裝Plugin,并導(dǎo)航到http://seophp.example.com/catalog.html。在這個網(wǎng)頁中,單擊打開彈出窗口的鏈接,并且注意在狀態(tài)欄顯示的HTTP REFERER。可以看到當(dāng)從站點內(nèi)部彈出窗口時種類鏈接不能顯示。
這里使用的代碼很多,并且都非常有用。只要彈出列表放對位置,它可以在任何需要的時候很方便地將導(dǎo)航鏈接顯示出來。這里使用的是模擬彈出窗口的方式,也可以用普通的JavaScript彈出頁面取得同樣的效果。
為了向任何彈出窗口增加導(dǎo)航鏈接,有兩個步驟需要做。首先,需要將popup_utils.inc.php腳本加入彈出頁面的腳本。如下即在popup.php里做的:
<?php
require_once 'include/popup_utils.inc.php';
?>
然后,需要調(diào)用定義在popup_utils.inc.php里的display_popup_navigation()函數(shù)。在希望包含導(dǎo)航鏈接的位置加入以下代碼:
<?php
display_popup_navigation();
?>
這個函數(shù)的作用是驗證REFERER是否來自本地區(qū)域。如果是,則不顯示導(dǎo)航鏈接。如果這個REFERER來自另一個區(qū)域,則會顯示出來導(dǎo)航鏈接。
這個函數(shù)首先就要被告知是否存在REFERER。如果不存在,則設(shè)置一個臨時變量,取名為$display_nav,并設(shè)置為true。這個變量的默認值是false。在這個函數(shù)的后,檢查它的值,并決定是否顯示這個導(dǎo)航鏈接:
function display_popup_navigation()
{
$disp_nav=false;
if(!isset($_SERVER['HTTP_REFERER']))
{
$disp_nav=true;
}
如果存在REFERER,檢查主機名字的REFERER是否與主機的SITE_DOMAIN常量一致。這個常量定義在config.inc.php里。如果主機名字不一樣,那么這個訪問者是從外部網(wǎng)站到達這個彈出網(wǎng)頁的,這時就需要使用以下代碼顯示導(dǎo)航鏈接:
else{
$parsed_referer=parse_url($_SERVER['HTTP_REFERER']);
$parsed_local=parse_url(SITE_DOMAIN);
$referer_host=$parsed_referer['host'];
$local_host=$parsed_local['host'];
if($referer_host != $local_host)
{
$disp_nav=true;
}
}
到后,如果$display_nav的值是true,就使用以下代碼顯示導(dǎo)航鏈接:
if($disp_nav==true)
{
echo '<a href="catalog.html">Visit our catalog page!</a>';
}
}
希望以上的這些信息能夠幫助您,如果您還有關(guān)于大連網(wǎng)站制作,大連網(wǎng)站建設(shè)及企業(yè)郵箱等相關(guān)問題,請與我們聯(lián)系,新圖聞科技將竭誠為您服務(wù)!