[サーバー] 常時https対応と、www統一のhtaccessの書き方(XSERVERなど)
こんにちは、@yoheiMuneです。
XSERVERで、常時SSLとwww統一の対応について、htaccessを記述する機会があったので、その内容をブログに書いておきたいと思います。
Apacheのmod_rewriteモジュールの使い方を徹底的に解説 | OXY NOTES
RewriteRule Flags - Apache HTTP Server Version 2.4(公式、英語)
最後になりますが本ブログでは、フロントエンド、サーバー、Swift、PHP、Node.js、Python、Java、Linux、インフラ、Go言語、機械学習、などの技術トピックを発信をしていきます。「プログラミングで困ったその時の、解決の糸口に!」そんな目標でブログを書き続けています。ぜひ、本ブログのRSSやTwitterをフォローして貰えたら嬉しいです ^ ^
最後までご覧頂きましてありがとうございました!
XSERVERで、常時SSLとwww統一の対応について、htaccessを記述する機会があったので、その内容をブログに書いておきたいと思います。
目次
常時SSL対応とwww統一のhtaccess
.htaccess
ファイルは以下のように記載します。ドメイン名は設定したいサイトに合わせて修正してください。また設定前には必ず現状のバックアップを取り(.htaccess
ファイル)、もし失敗しても戻せるようにしておく必要もあります。# Apacheのリライト機能が有効な場合のみに限定 <IfModule mod_rewrite.c> # リライト機能をONにする RewriteEngine on # httpでアクセスされた場合には、httpsへリダイレクト. RewriteCond %{HTTPS} !on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] # wwwなしでアクセスされた場合には、www付きにリダイレクト. RewriteCond %{HTTP_HOST} ^yoheim\.net [NC] RewriteRule ^(.*) https://www.yoheim.net/$1 [R=301,L] </IfModule>
%{xxx}
などのHTTP環境変数や、NS
やR=301
やL
などの条件指定など専門的なものがありますが、詳細は以下のリンクをご参照ください。Apacheのmod_rewriteモジュールの使い方を徹底的に解説 | OXY NOTES
RewriteRule Flags - Apache HTTP Server Version 2.4(公式、英語)
サクラのレンタルサーバーの場合
サクラさんの特殊事情により、上記では常時SSL対応ができません。以下のように行います。# リライト機能をONにする RewriteEngine On # 「ENV:HTTPS」に「on」ではない RewriteCond %{ENV:HTTPS} !^on$ # または、「X-SAKURA-FORWARDED-FOR」に値が入っていない RewriteCond %{HTTP:X-SAKURA-FORWARDED-FOR} ^$ # 場合には、https://〜 へリダイレクトする. RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]詳しくは
X-SAKURA-FORWARDED-FOR
などをキーワードに検索して見てください。最後に
このようなスニペットはコピペして使えるので、知って入れば非常に効率的に作業ができます。ぜひ貯めておきたいTipsです。最後になりますが本ブログでは、フロントエンド、サーバー、Swift、PHP、Node.js、Python、Java、Linux、インフラ、Go言語、機械学習、などの技術トピックを発信をしていきます。「プログラミングで困ったその時の、解決の糸口に!」そんな目標でブログを書き続けています。ぜひ、本ブログのRSSやTwitterをフォローして貰えたら嬉しいです ^ ^
最後までご覧頂きましてありがとうございました!