W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
fecshop url 重寫(xiě),屬于自定義的方式重寫(xiě),定義的重寫(xiě)會(huì)被保存到mongodb中。
對(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
],
];
showScriptName
:true
代表url中顯示index.php
,false
代表url中不顯示index.php
當(dāng)設(shè)置了false
,也就是不顯示index.php,需要在nginx設(shè)置重寫(xiě)
,具體可以搜索這個(gè)(用bing.com搜索就不錯(cuò),不需要翻墻,也可以
切換英文搜索)。
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.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)。
文件為:@fecshop/yii/web/Request.php
,重寫(xiě)了@yii/web/Request
的一部分方法實(shí)現(xiàn)的。
具體的實(shí)現(xiàn)方法,你可以參看文件@fecshop/yii/web/Request.php
的內(nèi)容
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: