我希望我的網站顯示爲www.mysite.com,不www.mysite.com/防止尾隨斜線
不阿帕奇默認域名後加上結尾斜槓,還是瀏覽器追加它?如果我想用.htaccess來防止這種情況,URL重寫規則是什麼?
我希望我的網站顯示爲www.mysite.com,不www.mysite.com/防止尾隨斜線
不阿帕奇默認域名後加上結尾斜槓,還是瀏覽器追加它?如果我想用.htaccess來防止這種情況,URL重寫規則是什麼?
http://www.searchenginejournal.com/linking-issues-why-a-trailing-slash-in-the-url-does-matter/13021/
http://www.alistapart.com/articles/slashforward/
網址最初用來建模目錄,因此被要求的結尾的斜線。我想如果你沒有斜線,一些網絡服務器將無法正確地找到內容。
@ Anthony-對不起,但這沒有意義,也沒有回答這個問題。絕大多數域不包括尾部斜線(包括StackOverflow.com)。我的問題是爲什麼它被自動添加,以及如何防止它。 – Yarin
瀏覽器在請求URL時會自動添加這樣的斜線。 它如何在地址欄中顯示這是一個不同的故事。
例如:www.adobe.com
- 在不同的瀏覽器中鍵入一下,看看他們將如何顯示它:
http://www.adobe.com/
www.adobe.com
www.adobe.com
http://www.adobe.com/
正如Anthony的第一個鏈接所說,斜線是地址的一部分。每個域名(不僅僅是「絕大多數」)都有一個類似於www.mysite.com的名稱,但這只是一個域名,而不是一個URL。 URL是文件的地址,即協議+域名+路徑文件,因此http://www.mysite.com/通過DirectoryIndex添加了缺少的文件名,因此是一個URL,但http://www.mysite.com並不意味着什麼,因爲在這種情況下文件路徑將爲空。 事實上,您的瀏覽器不顯示您的URL的無聊部分與您的網站配置無關。
如果真的相同的瀏覽器在不同的網站上有不同的表現,我很想知道您使用的瀏覽器和網站。
如果您要求:
http://myhost.com
請求需要像這樣在HTTP:
GET/HTTP/1.0
主持人:myhost.com
由於歷史的原因,一些瀏覽器確實附加了斜槓,因爲否則它會翻譯爲
GET <沒有> HTTP/1.0
主機:myhost.com
這將是一個非法請求。
需要注意的是:
http://myhost.com/page
是合法的,因爲它翻譯成:
GET /頁HTTP/1.0
主持人:myhost.com
這是瀏覽器如何顯示它 - 與Web服務器無關。 – LazyOne
@ LazyOne-那麼大多數網站怎麼沒有結尾的斜線 - 使用相同的瀏覽器? – Yarin
域名後面的斜線(如你的例子)......或者文件夾名稱後? - 這是一個巨大的差異。 – LazyOne