利用偽靜態(tài)解決apache和IIS的http跳轉(zhuǎn)到https
最近https政策的推行,使用SSL證書的香港虛擬主機(jī)用戶越來越多了,當(dāng)他們裝好證書后,發(fā)現(xiàn)另一個(gè)困擾的問題出現(xiàn)了:http和https能夠同時(shí)被訪問,如何解決這個(gè)問題?
下面分別講解apache和IIS的偽靜態(tài)方法,只需要將偽靜態(tài)文件放到網(wǎng)站根目錄下即可。
Apache的http跳轉(zhuǎn)https方法
apache的偽靜態(tài)是通過.htaccess實(shí)現(xiàn),將.htaccess文件ftp傳到網(wǎng)站根目錄下:
如果您之前已經(jīng)有做過偽靜態(tài),則將下面.htaccess文件配置代碼貼入您文件內(nèi)相應(yīng)位置:
RewriteEngine on RewriteBase / RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
IIS7、IIS8的http跳轉(zhuǎn)https方法
IIS的偽靜態(tài)是通過web.config實(shí)現(xiàn),將web.config文件ftp傳到網(wǎng)站根目錄下:
如果您之前已經(jīng)有做過web.config偽靜態(tài),則將下面web.config文件配置rewrite部分代碼貼入您web.config文件內(nèi)相應(yīng)位置:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="HTTP to HTTPS redirect" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="off" ignoreCase="true" /> </conditions> <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
環(huán)境說明
這邊再多說兩句:上面方法適用于我們的香港空間,如果您是自有windows+iis服務(wù)器,還需要為服務(wù)器安裝IIS偽靜態(tài)組件后,才能使用上面的方法
這里貼一下IIS偽靜態(tài)組件-“URL重寫” 模塊下載地址:
微軟下載地址(64位):http://www.microsoft.com/zh-cn/download/details.aspx?id=7435