在未啟用 mod_rewrite 的情況下,域不斷被重寫
所以基本上當我去
http://www.example.com
OR時http://example.com
,URL 會被重寫為ORwww.example.com
刪除example.com
/刪除http://
部分。我不確定為什麼會這樣。我在 DigitalOcean 上的 DNS 設置如下:
我的虛擬主機文件如下:
<VirtualHost *:80> ServerAdmin admin@example.com DocumentRoot /var/www.example.com/public_html ServerName www.example.com ServerAlias example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
這沒什麼大不了的,但我真的很想知道為什麼
http://
會從 URL 中刪除,並且我也想防止它被刪除。我100%確定mod_rewrite
未啟用。Ubuntu Server 14.04 x32
如果有幫助的話,在 DigitalOcean 上執行 VPS 。
我認為您正在查看您在瀏覽器地址欄中鍵入的 URL。如果是這樣,則此行為只是一種“裝飾效果”,並且因瀏覽器而異。在 google-chrome 瀏覽器中,協議 (
http://
) 被刪除,但在 Firefox 中顯示協議。但是當向網路伺服器發出請求時,瀏覽器會遵循標準的
GET / HTTP/1.1
HTTP 標頭,因此應該沒有問題。如果在協議被切斷的情況下進行任何 URL 重寫,那麼您必須獲得 URL 重定向響應程式碼 301 或 302。要驗證這一點,請嘗試使用
curl
命令。這裡http://google.com
被重定向到http://www.google.co.in/?gfe_rd=cr&ei=9dvBVIbsIqXV8geunYHgDg
$ curl -IL http://google.com HTTP/1.1 302 Found Cache-Control: private Content-Type: text/html; charset=UTF-8 Location: http://www.google.co.in/?gfe_rd=cr&ei=9dvBVIbsIqXV8geunYHgDg Content-Length: 261 Connection: keep-alive HTTP/1.1 200 OK Date: Fri, 23 Jan 2015 05:28:21 GMT Cache-Control: private, max-age=0 Content-Type: text/html; charset=ISO-8859-1 Accept-Ranges: none Vary: Accept-Encoding Connection: keep-alive