2014-04-09 295 views
3

本地主機我的工作在當地一個網站,其中包含HTTPS鏈接上,所以當我點擊這些鏈接就帶我到https://localhost/...不存在因爲沒有安裝SSL證書之一。重定向到HTTPS HTTP只

有什麼我可以添加到.htaccess,檢查我是否在localhost,如果是這樣重定向httpshttp? .htaccess文件在本地的研發和生產中使用我們的服務器上,所以,只要我添加一定不能影響生活的網站。

回答

4

都能跟得上。

原因是一旦請求已經取得,這意味着一旦https://localhost/請求時,它會只有得到應用,你把你的htaccess文件的任何規則纔會得到應用。如果沒有任何內容正在監聽本地主機上的HTTPS端口(443),那麼規則將永遠不會被應用。

如果端口443 ,偵聽localhost請求,但它只是一個缺少SSL證書的事情,規則仍然不會得到應用,直到SSL握手進行之後,這意味着,你」仍然會收到有關您的證書的安全警告。

話雖這麼說,如果你有Apache的監聽端口443,並安裝了證書你想要的規則是這樣的:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^localhost$ [NC] 
RewriteCond %{HTTPS} on 
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [L,R] 
+0

我明白了,謝謝你的解釋。然後我會考慮安裝證書。乾杯! –

+1

@AdamMcElroy如果你不介意的開銷(只爲本地開發),你可以看看[mod_proxy_html(http://httpd.apache.org/docs/current/mod/mod_proxy_html.html),這將讓你重寫鏈接*您內容中*這是本地主機鏈接變成了http和你不需要使用mod_rewrite –