[英]how to do pretty url in zend framework?
我想知道如何使用zend framework做漂亮的URL?
一些背景:
我現在的網址是: www.website.com/profile/43
數據庫結構為:
id userid name
1 43 John
.. ... ...
我的路由器是:
$router->addRoute('getUserid',
new Zend_Controller_Router_Route(
'/profile/:id',
array(
'module' => 'profile',
'controller' => 'social',
'action' => 'index'
)
)
);
顯然,我希望該網址為: www.website.com/profile/John
從研究的角度來看,我可以用路由器做很多事情,添加正則表達式等,但是在我的情況下,如何替換id
卻一無所獲。
我需要執行查詢以查找名稱,並且我想在預調度中執行此操作並將結果用作默認變量,但是由於$front->getRequest()->getParams()
,所以我不知道id
$front->getRequest()->getParams()
不可用:
$name = // do query to find out the name;
$router->addRoute('getUserid',
new Zend_Controller_Router_Route(
'/profile/:id',
array(
'id' => $name,
'module' => 'profile',
'controller' => 'social',
'action' => 'index'
)
)
);
也許我是從錯誤的角度出發。 有任何想法嗎?
謝謝。
比ZF特定問題更籠統。
您可以在此處執行的使URL美觀並保存高排名URL的操作在WordPress中實現,並且稱為“子彈”。 Slug只是帖子標題(只是空格被連字符等代替)。 但是很明顯,可能會有兩個標題相同的帖子(並且自動出現了slug)。 因此,如果新帖子的子彈已存在,則在末尾附加數字“ 1”。 如果它也存在,則將其附加“ 2”並重復直到得到唯一的東西。 顯然,您需要在表中為該段添加一個列。
因此,在您的情況下,名稱為John的第一個用戶的網址為www.website.com/profile/John
。 下一個名為John的用戶的URL為www.website.com/profile/John1
,依此類推。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.