wwwありなしやhttpsの統一などそれぞれの記事は見かける事があるのですが、一つの記事にまとまっている物を見かける事がなかったので、簡単にですが記事にまとめてみました。
wwwなしとhttpsのURLに統一
# wwwなしにリダイレクト
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
</IfModule>
# httpsに統一リダイレクト
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
wwwありとhttpsのURLに統一
# wwwなしにリダイレクト
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
</IfModule>
# httpsに統一リダイレクト
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
.htaccessのある場所
.htaccessはワードプレスがインストールされているディレクトリに必ず入っています。
FTPソフトなどで隠しファイル非表示的な設定をしている方は見えなくなっている可能性もありますので、見当たらない場合はまずソフトの設定を見直してみてください。
注意点
リダイレクトのコードは必ず元から記載されている内容より上に記述するようにしてください。
※下部に記載するとTOPページのみにしか反映されなくなります。
#ここに追加する。
#下記サンプルですので、そのまま使用しないように気を付けてください。
SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off
SetEnvIf Request_URI ".*" Ngx_Cache_AllCacheMode
#SITEGUARD_PLUGIN_SETTINGS_START
#SITEGUARD_PLUGIN_SETTINGS_END
# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
まとめ
ワードプレスでは管理画面でURLを指定しただけでは、統一しきれずに検索エンジンにインデックスされてしまい、ページの評価が分散されてしまう可能性があります。
プラグインなどでリダイレクトをさせる方法もあるかと思いますが、コピペで済む内容ですので、無駄なものは増やさないかたちで、ご使用いただけたらうれしいです。