最近在做一個(gè)網(wǎng)站內(nèi)容dispatch的東西叼架。然后搭配公司的lb服務(wù)规肴。遇到很多坑汰具。發(fā)現(xiàn)在網(wǎng)址后面加上/
和不加有一些區(qū)別脑奠。自己瞎搞了半天岂丘,總結(jié)一下殉挽。
/
的意義
核心的概念:
- 最后添加
/
是查詢目錄 - 最后不添加
/
是查詢文件
比如說(shuō)我們的網(wǎng)站地址www.kami_home.com
感耙。
-
www.kami_home.com/content
表示默認(rèn)查詢網(wǎng)站根目錄下的content文件 -
www.kami_home.com/content/
表示默認(rèn)查詢網(wǎng)站根目錄下的命名為content
的子目錄就缆。
這里還有幾點(diǎn)需要注意:
- 網(wǎng)站末尾添加
/
能夠加快網(wǎng)站的載入速度(seo優(yōu)化)
通過(guò)/
饺著,瀏覽器直接在該目錄(默認(rèn)訪問(wèn)目錄)下尋找默認(rèn)的index.html
等文件箫攀。 如果未添加/
,則會(huì)- 首先幼衰,讀取根目錄下的一個(gè)文件(隨機(jī)靴跛,有index可能會(huì)顯示index)
- 未找到該文件,則會(huì)查找同名的目錄渡嚣。如果存在梢睛,則讀取其內(nèi)的默認(rèn)文件(index)
如果不添加/
,則會(huì)一直增加一個(gè)查詢同名文件的過(guò)程(當(dāng)然如果本身意在如此识椰,那就沒(méi)問(wèn)題)绝葡。這里如果沒(méi)有/
,而且沒(méi)有找到該文件腹鹉,服務(wù)器會(huì)執(zhí)行301的跳轉(zhuǎn)到帶/
的目錄請(qǐng)求藏畅。
- seo:添加
/
能夠避免重復(fù)內(nèi)容。 - url解析錯(cuò)誤(404 not found錯(cuò)誤)功咒,添加
/
是一個(gè)非常良好的習(xí)慣愉阎。
跳轉(zhuǎn)的情況,在細(xì)說(shuō)一下力奋,如果是POST請(qǐng)求榜旦,然后使用未添加的/
的url。同時(shí)景殷,并沒(méi)有相關(guān)匹配的話溅呢,可能會(huì)發(fā)現(xiàn)服務(wù)器catch到的請(qǐng)求變成了GET澡屡,同時(shí)參數(shù)也不見(jiàn)了。
這個(gè)就是因?yàn)檎?qǐng)求被默默的redirect到了帶/
的情況咐旧,同時(shí)并沒(méi)有配置相關(guān)的處理方式驶鹉,比如繼續(xù)以POST的形式進(jìn)行轉(zhuǎn)發(fā)(POST /check? -> POST /check/?)。
常見(jiàn)的現(xiàn)象:
- 在瀏覽器地址欄輸入網(wǎng)站地址后铣墨,回車(chē)會(huì)默認(rèn)添加一個(gè)
/
- 有些瀏覽器會(huì)自動(dòng)隱藏網(wǎng)站末尾的
/
- 有些網(wǎng)站會(huì)設(shè)置URL重寫(xiě)梁厉,自動(dòng)加上
/
- 有些網(wǎng)站會(huì)增加302跳轉(zhuǎn),到
/
的版本