W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
fecshop url 重寫,屬于自定義的方式重寫,定義的重寫會被保存到mongodb中。
對于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è)置重寫
,具體可以搜索這個(用bing.com搜索就不錯,不需要翻墻,也可以
切換英文搜索)。
2.1 在數(shù)據(jù)庫的產(chǎn)品或分類保存的時候,會有一個唯一的url_key字符串,和真實(shí)的yii2的
url key
對應(yīng),譬如/xxxxxxx
對應(yīng) /catalog/product/index?id=xxxx
2.2當(dāng)一個url訪問的時候,會到數(shù)據(jù)庫(mongodb)中查詢,該url是否在數(shù)據(jù)庫中存在,如果存在,
則會使用對應(yīng)的真實(shí)的yii2的url路徑,譬如上面的/catalog/product/index
2.3 執(zhí)行相應(yīng)的模塊
關(guān)于重寫的原理詳細(xì)參看:yii2 Url 自定義 偽靜態(tài)url
3.1 page頁面
3.2 category分類頁面
3.3 product產(chǎn)品頁面
在上述頁面保存的時候,如果填寫url_key就會使用填寫的url_key,如果不填寫 就會使用名字生成。
如果生成的url在數(shù)據(jù)庫中存在,那么會在后面加入一組隨機(jī)數(shù)字,如果隨機(jī)數(shù)字還存在, 那么就會使用另外一組隨機(jī)數(shù)字,直到唯一為止。
Url自定義(Url 重寫)是為了seo,讓網(wǎng)頁中的關(guān)鍵字,標(biāo)題,在url中也出現(xiàn)。
文件為:@fecshop/yii/web/Request.php
,重寫了@yii/web/Request
的一部分方法實(shí)現(xiàn)的。
具體的實(shí)現(xiàn)方法,你可以參看文件@fecshop/yii/web/Request.php
的內(nèi)容
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: