部署https(ssl)后設置301跳轉將http跳轉到https
注意,以下教程針對我司虛擬主機或者亞數的云主機香港IP部署SSL后的301跳轉(非亞數機房需要注意規則中行替換),把規則中域名替換成自己的域名。
wordpress程序請參考:https://www.west.cn/faq/list.asp?unid=2068
根據自己使用環境點擊查看對應規則:
1、云主機(apache)
2、虛擬主機linux系統
3、云主機(nginx)
4、彈性云windows系統(iis7)
5、虛擬主機windows系統
6、彈性云windows系統(iis6)
1、云主機apache環境
【直接在apache上部署的SSL】在對應站點根目錄下新建一個文件命名為.htaccess。香港亞洲數據中心機房點擊查看規則。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !^on$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?abc.com$ [NC] # 將abc.com和www.abc.com跳轉到https://www.abc.com,防止apache子站繼承上級目錄.htaccess受影響
RewriteRule ^(.*)$ https://www.abc.com/$1 [R=301,L]
</IfModule>
云主機apache環境(香港亞洲數據中心機房):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:From-Https} !^on$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?abc.com$ [NC] # 將abc.com和www.abc.com跳轉到https://www.abc.com,防止apache子站繼承上級目錄.htaccess受影響
RewriteRule ^(.*)$ https://www.abc.com/$1 [R=301,L]
</IfModule>
2、虛擬主機linux系統
可以通過ftp或登錄后進入到主機管理面板-文件管理,進入wwwroot,新建一個文件命名為.htaccess文件,保存即可。
編輯.htaccess文件寫入以下規則:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:From-Https} !^on$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?abc.com$ [NC] # 將abc.com和www.abc.com跳轉到https://www.abc.com,防止apache子站繼承上級目錄.htaccess受影響
RewriteRule ^(.*)$ https://www.abc.com/$1 [R=301,L]
</IfModule>
3、云主機Nginx環境
編輯nginx站點配置文件(如果是wdcp面板,登錄wdcp管理面板中:站點列表-文管-虛擬主機站點文件nginx-對應站點配置文件),添加以下規則。(香港亞洲數據中心機房點擊查看規則)
server
{
listen 80;
server_name abc.com;
rewrite ^(.*) https://www.abc.com$1 permanent; # 這段就是需要添加的,abc.com對應修改為您自已的域名
}
云主機Nginx環境(香港亞洲數據中心機房):
server
{
listen 80;
server_name abc.com;
}
#亞數機房CDN部署的SSL在自身網站server配置節中添加下面代碼
if ( $http_from_https != 'on' ){
rewrite ^(.*) https://www.abc.com$1 permanent; # abc.com對應修改為您自已的域名
}
4、云主機Windows系統 IIS7環境
云服務器:【直接在IIS上部署的SSL】在對應站點根目錄下新建(通過ftp或登錄后直接進入到D:\wwwroot\站點ftp命名目錄\wwwroot創建)一個文件命名為web.config并編輯添加以下規則(管理助手部署或者亞洲數據中心機房點擊查看規則):
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="301" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTPS}" pattern="^on$" negate="true" />
</conditions>
<action type="Redirect" url="https://www.abc.com/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
云主機Windows系統 IIS7環境(香港亞洲數據中心機房和管理助手部署的服務器)
注意更改為自己的域名
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="301" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_FROM_HTTPS}" pattern="^on$" negate="true" />
</conditions>
<action type="Redirect" url="https://www.abc.com/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
5、虛擬主機windows系統
可以通過ftp或登錄后進入到主機管理面板-文件管理,進入wwwroot,新建一個文件命名為web.config并編輯添加以下規則,注意替換為自己的域名。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="301" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_FROM_HTTPS}" pattern="^on$" negate="true" />
</conditions>
<action type="Redirect" url="https://www.abc.com/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
6、云主機Windows系統 IIS6環境
參考http://www.west.cn/faq/list.asp?unid=650 配置一個Rewrite,編輯該Rewrite的規則文件httpd.conf 添加以下規則。香港亞洲數據中心機房點擊查看規則
RewriteEngine On
RewriteCond %{HTTPS} !^on$ [NC]
RewriteRule ^(.*)$ https://www.abc.com/$1 [R=301,L] # www.abc.com對應修改為您自已的域名
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.abc.com$1 [R=301,L] # www.abc.com對應修改為您自已的域名
云主機Windows系統 IIS6環境(香港亞洲數據中心機房)
RewriteEngine On
RewriteCond %{HTTP:From-Https} !^on$ [NC]
RewriteRule ^(.*)$ https://www.abc.com/$1 [R=301,L] # www.abc.com對應修改為您自已的域名
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.abc.com$1 [R=301,L] # www.abc.com對應修改為您自已的域名
tomcat環境(云主機)
在web.xml最后一行</web-app>代碼之前添加如下代碼即可
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
注: 1、discuz使用301方式強制將http跳轉到https后會導致后臺uc通信失敗。
2、通過該方式設置跳轉后,如無法正常跳轉訪問,請單獨建立站點綁定https域名,仍在原來站點設置跳轉規則。
java虛擬主機部署SSL后301跳轉參考:https://www.west.cn/faq/list.asp?unid=1968
請根據操作系統、站點部署數量選擇以下相應參考文檔,文檔僅供參考,如果對技術不熟悉,建議提交工單,由我司工程師幫您配置(會有費用產生)。
以上內容來源于網絡,僅供參考。
A、windows2008+iis7環境SSL部署https單/多站點
B、linux系統SSL部署https單/多站點
C、windows2003系統SSL單站點部署https
D、win2012+iis8 部署https證書(支持多站點)
E、云建站部署SSL證書(https)
F、虛擬主機部署ssl證書(https)流程
來源:西部數碼