搜索引擎友好的PHP頁

Zend技術-編碼畫廊聚光燈-搜索引擎友好的PHP頁
即然您有對問題的更好的理解,我們看解答。 為了橫斷的蜘蛛(和因而索引)特定頁, URL一定免于參量所有出現。 但是,如果特定頁要求參量適當地起作用,什麼可以做? 答復在使用在$PATH_INFO环境变量,您能轉換URL…
http://www.zend.com/myscript.php?myvalue=Hello

…對一個蜘蛛友好的格式:
http://www.zend.com/myscript.php/myvalue/Hello

注意蜘蛛友好的格式不包含徵兆有通過的所有參量。 相反,它看,如我們设法訪問在zend.com站點/myscript.php/myvalue/Hello的目錄,并且訪問頁的任何搜索引擎蜘蛛不會有任何麻煩跟隨URL。 我們實際上執行劇本myscript.php。

但是什麼发生在您的參量?
如何得到您的隐式数据

即然您順利地掩藏了您的在什麼之內的參量看来是目录结构,您怎麼把弄出去他們? 每當PHP劇本執行與額外道路數據被添附對文件名的结尾(我們在上面的例子蜘蛛友好的中做了),網絡服務器創造包含這信息的一個环境变量$PATH_INFO。 您能通过PHP自動地然後訪問這個环境变量,并且解析它檢索我們的數據。 因此我們更加早期的URL…

http://www.zend.com/myscript.php/myvalue/Hello

…將居住於$PATH_INFO可變物與:

/myvalue/Hello

…從哪些您能然後解析并且檢索通過的信息。
解密您的數據

即然您知道您的參量哪里,下一个步骤将解密他們入PHP可能使用的格式。 雖然沒有做的此必需的方法,我假设,您接下來格式化了您的數據:

/var_name/var_data/var2_name/var2_data/…

使用這個方法,被留下的所有是:

*打破提供的串,在我們遇到深砍時候(『/』)
*創造可變物同教名(var_name、var2_name等等)聯繫在一起他們的各自價值(var_data、var2_data等等)

所有此在头脑里,我們看某一真正的代碼。
劇本

與許多強有力的技術,要求的代碼創造這能力在您的劇本不是难开发。 過程包括橫斷根据$PATH_INFO的列陣和創造根据那的可變物數據。 最后,對象将採取URL…

http://www.zend.com/myscript.php/myvalue/Hello

…然後使用提供的數據在$PATH_INFO可變物修建對應的可變物:

$myvalue = 「你好」
編碼流程

*检查$PATH_INFO的存在
*分裂$PATH_INFO成列陣
*如果參量的总数是均勻的,增加一個額外空的元素在末端簡化在下一个步骤的遍歷
*橫斷列陣并且創造根据$PATH_INFO數據的可變物

<>

如果(isset ($PATH_INFO)) {

$vardata =爆炸(『/』, $PATH_INFO);

$num_param =計數($vardata);

如果($num_param % 2 == 0) {

$vardata [] = ";
$num_param;
}

為(var $i = 1; $i <>

$$vardata [$i] = $vardata [$i 1];
}
}

?>

歸檔在 Uncategorized之下 |

留下回復



請键入如下所示的代碼(核實您是人的),在您點擊遞交評論之前


保護由 讚成評論衛兵