【Labs】https・wwwなしに統一する方法 - web design lab
にほんブログ村 デザインブログ Webデザインへ PVアクセスランキング にほんブログ村

【Labs】https・wwwなしに統一する方法


【Labs】https・wwwなしに統一する方法

こんにちは(・∀・)

httpsでwwwなしにリダイレクトする方法をご紹介します。

https・wwwなしに統一

前回ご紹介しました【制作Tips】https・wwwありに統一する方法のwwwなしバージョンをご紹介します。

今回参考にしたのも前回と同じくこちらのブログ、
.htaccessでhttps化かつwwwなしに統一するクールな方法
を参考にさせていただきました。

コードはこちら。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

このコードを.htaccessにコピペしてそのままサーバーへアップロードして完了です。

.htaccessの編集のやり方はこちらの
【Labs】.htaccessの編集方法
に詳しく解説してますのでよろしければ参考にしてください。

https・wwwなしの設定がこれだけでできてしまいました。

と思いきや...

WordPressをインストールしたさくらのレンタルサーバーで動作確認をしてみると、トップページ以外が404エラーに。

前回の【Labs】https・wwwありに統一する方法では簡単にできたのですが、今回の.htaccessでhttps化かつwwwなしに統一するクールな方法は、うちの環境ではうまく動作してくれませんでした。

うーむ、困った...

何か方法はないものか...

と、参考にさせていただいたブログをじっくりと見ていたら、さらに参考サイトのURLhttps://stackoverflow.com/questions/13977851/htaccess-redirect-to-https-wwwがありました。

何か参考になる書き込みはあるかなーとのぞいていたら...

ありました。

https://stackoverflow.com/a/34802638

それがこちらのコード。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

RewriteCond %{HTTP_HOST} ^www\.(.*)
RewriteRule ^.*$ https://%1/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>

試しにこのコードを使ってみたらうまく動作してくれました。

さくらのレンタルサーバーが特殊だったりとか、環境によってはちょっとしたことで上手くいかないことがあったりします。

が、今回は簡単に解決することができました。

良かったー

そうそう、こちらでも前回同様さくらのレンタルサーバーでWordPressを使ってる場合、「さくらのレンタルサーバ上のWordPressで、常時SSL化を簡単に行えるプラグイン」を使ってる可能性があります。

もし使っていたらプラグインは停止しておきましょう。

【Labs】https・wwwなしに統一する方法

↓停止する。

【Labs】https・wwwなしに統一する方法

なお、

動作確認の際はキャッシュを削除しないと正しい表示ができない場合があるのでファイルを上げ直した時はキャッシュを必ず削除してください。

関連リンク

【Labs】.htaccessの編集方法

参考サイト

https://stackoverflow.com/a/34802638
.htaccessでhttps化かつwwwなしに統一するクールな方法


にほんブログ村 デザインブログ Webデザインへ PVアクセスランキング にほんブログ村