2009-09-21 428 views
7

這些網址在網址末尾有斜槓有沒有區別?爲什麼你需要一個URL末尾的斜線?

https://drchrono.com/about_us 
https://drchrono.com/about_us/ 

Web框架和Web服務器(例如Apache,Nginx,Django)是否處理​​這些請求的方式不同?

+3

小記:這些是正斜槓,而不是反斜槓。 – 2009-09-21 21:28:31

回答

5

在Django中,沒有正斜槓的URL會自動附加正斜槓。這是Django開發人員的偏好,而不是網絡的硬編碼規則(我認爲它實際上是Django中的一個設置)。

+3

APPEND_SLASH =真 – zalew 2009-09-21 23:06:39

3

/是分隔字符。

從RFC

一些URL方案(如FTP,HTTP,和文件方案)包含一個可以考慮分級 名稱; 層次結構的組件由「/」分隔。

有一個/最後指出,可能有更多的東西在URL中。

1

它們被作爲不同的請求處理,儘管它們可能會在最後匹配相同的資源/處理程序/例程並以相同的方式進行處理。

由於與/應該是類似於目錄的東西,所有相關鏈接將位於/ ie previous/target/something中,而沒有鏈接的相關鏈接將位於相同級別以前/東西。

24

當涉及到相對URL時,瀏覽器會以不同的方式對待它們。在一個頁面:

http://server/path 

與像一個相對鏈接:

<a href='other'> 

將解決鏈接:

http://server/other 

other更換path。而如果起始URL是:

http://server/path/ 

然後解析鏈接將是:

http://server/path 

http://server/path/other 

如果path是一個目錄,而不是一個文件,大多數Web服務器會自動重定向

到:

http://server/path/ 

因爲這幾乎可以肯定你的意思。

+2

由於該自動重定向,如果您使用尾部斜線編寫鏈接,則會實現最小但明顯的頁面加載速度。 IIRC,apache文檔推薦這個。 – rmeador 2009-09-21 22:07:39

1

只是一個側面說明,搜索引擎將這些查看爲2個不同的頁面。因此傷害你的seo。

相關問題