9
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Apache】HTTP/HTTPS共存 リダイレクト設定 Rewrite【SSL設定】

Last updated at Posted at 2016-03-24

【個人メモ】
Apacheの設定でSSLと通常の通信を行う際の共存設定方法
バーチャルホストの設定にて実施

__Listenは80__しか開けてない
__NameVirtualHost *:443__書いてから起動時にWarnを見るように⇒不要かも?

####基本構文

httpd.conf

<VirtualHost *:80>
        ServerName HTTP通信時のてすとサーバの名前(サイトURL)
        DocumentRoot /var/www/html/ほげほげ
        <Directory "/var/www/html/ほげほげ/">
                AllowOverride 
                RewriteEngine 
                
        </Directory>
</VirtualHost>

<VirtualHost *:443>
        ServerName HTTPS通信時のてすとサーバの名前(サイトURL)
        DocumentRoot /var/www/html/ほげほげ
        Redirect 
        
        <Directory "/var/www/html/ほげほげ/">
                AllowOverride 
                RewriteEngine 
                
        </Directory>
        	RewriteEngine 
        	SSLEngine on
        	SSLCertificateFile    /etc/ssl/hoge.cer
        	SSLCertificateKeyFile /etc/ssl/hoge.key
        	SSLCertificateChainFile /etc/ssl/hoge-hoge.cer
</VirtualHost>


複数ドメイン運用の際は上記セットをドメイン数分書いてしまえばドメイン数分HTTP/HTTPSの設定が可能

###.htaccess
.htaccessを利用する場合、上記ディレクトリタブ内の『AllowOverride』を AllowOverride All とする。
この記述が無いと.htaccessが効かなくなる。
聞かせたいディレクトリ階層の一番上で1回この記述を書いておけば、その下の階層の.htaccessは効く


###リダイレクト
URLの書き換え<Rewrite>を行う場合このタブ内に記述(物によってはヴァーチャルホストタブの中で無いと効かなかったので両方試す)
リダイレクトはそのドキュメントルートからみて、どこにアクセスが有った場合どこに飛ばすと言った形で書く

Rewriteサンプル

サンプル
RewriteRule .* https://www.google.co.jp/ (⇒そのディレクトリに来たやつを全部飛ばす)
RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] (⇒HTTPをHTTPSに強制リダイレクト)

後ろの[R,L]とか結構重要

Redirectサンプル

サンプル
Redirect /sub_dir1 http://qiita.com/Yuki_BB3/stock
Redirect /sub_dir1/index.html http://qiita.com/Yuki_BB3/stock
Redirect /sub1(.*) http://qiita.com/Yuki_BB3/stock

###SSL証明書設定
バーチャルホストタブ内

     	SSLEngine on
    	SSLCertificateFile    /etc/ssl/hoge.cer
    	SSLCertificateKeyFile /etc/ssl/hoge.key
    	SSLCertificateChainFile /etc/ssl/hoge-hoge.cer

により設定する。
ドメインにより証明書が異なる場合、それに合致したものを間違えないように使う。


参考にしたサイト

http://blog.dawgsdk.org/weblog/archives/411011
http://kana-lier.com/web/redirect/#sec2
http://aoi-f.blog.so-net.ne.jp/2010-08-20-1
http://web.antenna.work/rewritecond-rewriterule/
https://www.suzukikenichi.com/blog/integrating-www-and-non-www-by-301-redirect/
http://rfs.jp/server/apache/02apache/url_rewrite.html
https://gist.github.com/y13i/65a73493b55474f9a658
http://web-tan.forum.impressrd.jp/e/2010/01/05/6369#www
http://digital-marketing.jp/site-renewal-301-redirect/

9
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?