Apache http強制轉為https頁面訪問(轉)


1
在httpd.conf文件里使下面模塊生效
LoadModule rewrite_module modules/mod_rewrite.so
 
2
httpd.conf配置文件或者是在httpd-vhost.conf文件里修改
 
<Directory "C:/Apache2.2/docs/1.com">
 
Options Indexes FollowSymLinks
AllowOverride All
# 上面是http-https時需要添加的語句
 
Order allow,deny
Allow from all
</Directory>
 
3
在網站根目錄下面添加該文件“.htaccess” 目錄訪問控制文件,並添加如下內容:
 
#---------------------------------
 
RewriteEngine on     #開啟重定向引擎
 
RewriteBase /     #可以不設置
 
RewriteCond %{SERVER_PORT} !^443$    #非443端口的數據全部進行重定向
 
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]    #把需要重定向的內容重定向到https
 
#----------------------------------
.htaccess文件不能在win平台下自己創建,可以使用下面鏈接在線生成該文件: http://www.wangqu.org/htaccess/#a_WWW
 
#----------------------------------
 
 
RewriteEngine on     #開啟重定向引擎
 
RewriteBase /     #可以不設置
 
RewriteCond %{SERVER_PORT} !^443(或者其他端口)$    #非443端口的數據全部進行重定向
 
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]    #把需要重定向的內容重定向到https
 
#如果是默認不是443端口,那么可以在最后一行寫成這樣
RewriteRule ^.*$ https://www.domain.com:8443 
 
#當然如果默認是443的話,也可以這么寫 
RewriteRule ^.*$ https://www.domain.com 
 
 
#該 .htaccess 需要放置在網站的根目錄下面才可以生效
 
#----------------------------------
含義是這樣的:為了讓用戶訪問傳統的http://轉到https://上來,用了一下rewrite規則:
第一句:啟動rewrite引擎
第二句:rewrite的條件是訪問的服務器端口不是443端口
第三句:這是正則表達式,^是開頭,$是結束,/?表示有沒有/都可以(0或1個),(.*)是任何數量的任意字符
整句的意思是講:啟動rewrite模塊,將所有訪問非443端口的請求,url地址內容不變,將http://變成https://。
 
5、查看一下httpd.conf,如果以下幾項給注釋掉了,就打開這些選項:
LoadModule rewrite_module        libexec/mod_rewrite.so
AddModule mod_rewrite.c


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM