搜尋

首頁  >  問答  >  主體

使用apache怎麼http轉https 詳細點謝謝

要把http轉換成https 使用的apache伺服器

下載的是阿里雲免費的ssl憑證 要怎麼設定

詳細點 謝謝

phpcn_u74895phpcn_u748952577 天前1819

全部回覆(3)我來回復

  • phpersword

    phpersword2017-12-13 10:47:23

     如何設定http自動跳到https?apache環境下,設定https後,需要設定url重定向規則,讓網站頁面的http存取都自動轉到https存取。

    1、先開啟url重定向支援
    1)開啟Apache/conf/httpd.conf,找到 #LoadModule rewrite_module modules/mod_rewrite.so 去掉#號。
    2)找到你網站目錄的<Directory>段,例如我的網站目錄是c:/www,找到
    <Directory “C:/www”>

    < ;/Directory>
    修改其中的AllowOverride None 為AllowOverride All3)重啟apache服務2、設定重定向規則
    1)在你網站目錄下放一個.htaccess檔。 windows環境下,不能把檔案直接改名為.htaccess,會提示你必須輸入檔名。所以我們先新建一個“新文本文檔.txt”文檔,記事本打開,選擇另存為,保存類型選擇“所有文件(*.*)”,文件名輸入“.htaccess”,保存。這樣便產生了一個.htaccess檔。

     

    2)編輯器開啟.htaccess文件,寫入下列規則:
    RewriteEngine on
    RewriteCond %{SERVER_PORT}!^443$
    RewriteCond %{REQUEST_URI } !^/tz.php
    RewriteRule (.*) https://%{SERVER_NAME}/$1 [R]

    解釋:
    %{SERVER_PORT} —— 存取埠
    %{REQUEST_URI} —— 例如如果url是http://localhost/tz.php,則是指/tz.php
    %{SERVER_NAME} —— 例如如果url是http://localhost/tz.php,則是指localhost

    以上規則的意思是,如果存取的url的連接埠不是443,且存取頁面不是tz.php,則套用RewriteRule這條規則。這就實現了:造訪了http://localhost/index.php 或http://localhost/admin/index.php 等頁面的時候會自動跳到https://localhost/index.php 或https:/ /localhost/admin/index.php,但造訪http://localhost/tz.php 的時候就不會做任何跳轉,也就是說http://localhost/tz.php 和https://localhost/tz .php 兩個位址都可以存取。


    回覆
    0
  • 王亮

    你這個方法我試了不行啊 Apache啟動不了

    王亮 · 2017-12-16 18:19:46
    小叮当

    一個樣

    小叮当 · 2018-03-19 17:03:13
  • 取消回覆