Fecshop Url重寫(xiě)

2018-05-24 14:48 更新

Fecshop Url重寫(xiě)

fecshop url 重寫(xiě),屬于自定義的方式重寫(xiě),定義的重寫(xiě)會(huì)被保存到mongodb中。

1.去掉index.php

對(duì)于url: https://fecshop.appfront.fancyecommerce.com/index.php/special-occasion 為了seo的考慮,我們希望把index.php/去掉,下面是設(shè)置方法。

找到文件 @appfront/config/fecshop_local_services/Url.php ,內(nèi)容如下:

return [
    'url' => [
        'showScriptName'=> false, # if is show index.php in url.  if set false ,you must config nginx rewrite 
    ],
];

showScriptNametrue代表url中顯示index.php ,false代表url中不顯示index.php

當(dāng)設(shè)置了false,也就是不顯示index.php,需要在nginx設(shè)置重寫(xiě) ,具體可以搜索這個(gè)(用bing.com搜索就不錯(cuò),不需要翻墻,也可以 切換英文搜索)。

2. 重寫(xiě)原理

2.1 在數(shù)據(jù)庫(kù)的產(chǎn)品或分類(lèi)保存的時(shí)候,會(huì)有一個(gè)唯一的url_key字符串,和真實(shí)的yii2的 url key對(duì)應(yīng),譬如/xxxxxxx 對(duì)應(yīng) /catalog/product/index?id=xxxx

2.2當(dāng)一個(gè)url訪問(wèn)的時(shí)候,會(huì)到數(shù)據(jù)庫(kù)(mongodb)中查詢,該url是否在數(shù)據(jù)庫(kù)中存在,如果存在, 則會(huì)使用對(duì)應(yīng)的真實(shí)的yii2的url路徑,譬如上面的/catalog/product/index

2.3 執(zhí)行相應(yīng)的模塊

關(guān)于重寫(xiě)的原理詳細(xì)參看:yii2 Url 自定義 偽靜態(tài)url

3. 重寫(xiě)的url類(lèi)型

3.1 page頁(yè)面

3.2 category分類(lèi)頁(yè)面

3.3 product產(chǎn)品頁(yè)面

在上述頁(yè)面保存的時(shí)候,如果填寫(xiě)url_key就會(huì)使用填寫(xiě)的url_key,如果不填寫(xiě) 就會(huì)使用名字生成。

如果生成的url在數(shù)據(jù)庫(kù)中存在,那么會(huì)在后面加入一組隨機(jī)數(shù)字,如果隨機(jī)數(shù)字還存在, 那么就會(huì)使用另外一組隨機(jī)數(shù)字,直到唯一為止。

Url自定義(Url 重寫(xiě))是為了seo,讓網(wǎng)頁(yè)中的關(guān)鍵字,標(biāo)題,在url中也出現(xiàn)。

4.fecshop實(shí)現(xiàn)重寫(xiě)的文件

文件為:@fecshop/yii/web/Request.php ,重寫(xiě)了@yii/web/Request的一部分方法實(shí)現(xiàn)的。 具體的實(shí)現(xiàn)方法,你可以參看文件@fecshop/yii/web/Request.php的內(nèi)容

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)