簡體   English   中英

在yii 1 Web應用程序中使用SEO漂亮的URL在URL上查看文章標題而不是ID

[英]View article title on url instead of id in yii 1 web application for SEO pretty urls

我在yii Web應用程序中有文章,我想查看文章標題而不是URL上的id,我已點擊此鏈接: http : //www.yiiframework.com/forum/index.php/topic/43874-urlmanager- show-title-instead-of-id /我將createUrl函數更改為:

Yii::app()->createUrl('home/article',array('id'=>$article->id,'title' => $article->title); 

並將以下規則添加到url管理器,如下所示:

        '<action:\w+>'=>'home/<action>',
            '<action:\w+>/<id:\d+>'=>'home/<action>',
             '<controller:\w+>/<id:\d+>'=>'<controller>/view',
            '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
            '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
              'article/<id>/<title>'=>'home/article/view/'

文章網址現在像: http:// localhost / test / article?id = 6我想成為
http:// localhost / test / article / article-title

先感謝您 。

我做了類似的事情,但是您不想避免使用唯一的ID來查找您的文章,因為您不能依賴標題是唯一的,甚至永遠都不會改變。
最好不要在網址中至少公開使用自動數字ID,因此您可以執行以下操作:
"article/<key:\\w{6}>/<title>"

因此,URL將類似於: article/e87qy2/The_book_title_here並且您只需忽略標題,並使用對於每個文章都必須唯一的
當然,字母數字散列或鍵與數字ID並不完全不同,但是至少您可以通過顯示具有自動數字主鍵來擺脫有關數據庫的內部信息的麻煩。

如果您確實確實不可避免地希望僅在URL中添加標題,那么首先確保任何新創建的文章都是唯一的,然后將其用作查找文章的唯一關鍵字。
避免兩篇相等的文章可能要求您在末尾添加數字2、3等,以使它們有所不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM