前提・実現したいこと
.htaccessで、wwwありURL→wwwなしURLへのリダイレクトを行おうとしているのですが、上手くいきません。
具体的には、ブラウザにhttps://www.example.comと入力すると、https://example.comへ飛ぶようにしたいのですが、上手く動作せず、https://www.example.comのままアクセスされてしまいます。
(example.comの部分は、自分が取得した独自ドメインとなっております。)
発生している問題・エラーメッセージ
wwwありURLがwwwなしURLにリダイレクトされません。 「このサイトにアクセスできません」と表示されます。 Chrome曰く、DNS_PROBE_FINISHED_NXDOMAINらしいです。
.htaccessの中身(example.comの部分は、独自ドメインとなっています。)
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.(html|php) RewriteRule ^(.*)index.(html|php)$ http://%{HTTP_HOST}/$1 [R=301,L] RewriteCond %{HTTP_HOST} ^www.example.com$ RewriteRule ^(.*)$ http://example.com/$1 [R=301,L] RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] </IfModule> # BEGIN WordPress # `BEGIN WordPress` から `END WordPress` までのディレクティブ (行) は # 動的に生成され、WordPress フィルターによってのみ修正が可能です。 # これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /wordpress/ RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /wordpress/index.php [L] </IfModule> # END WordPress
判明していること
<IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^(.*)$ http://www.google.com/$1 [R=301,L] </IfModule>または
<IfModule mod_rewrite.c> RewriteCond %{THE_REQUEST} ^.*/index.(html|php) RewriteRule ^(.*)index.(html|php)$ http://%{HTTP_HOST}/$1 [R=301,L] </IfModule>以上のような記述を、"# BEGIN WordPress"より前にした時は、問題なくリダイレクトされました。
・パーミッションも問題ないと思われます。
・テスト時には、Ctrl + Shift + Iを用いて、Disable cacheするようにしています。
ゆえに、.htaccessが動作しないことや、検証の方法が原因ではないと思います。
補足情報(FW/ツールのバージョンなど)
VPS(ConoHa)にCentOS8.2を導入し、apacheの最新版を動かしております。
var/html/wwwの中に、wordpressというフォルダがあり、その中にwordpressが入っております。
WordPress アドレス (URL)はhttps://example.com/wordpressとなっておりますが、サイトアドレス (URL)をhttps://example.comとしており、実際にサイトにアクセスする時はhttps://example.com/でアクセスするようにしています。
また、SSL証明書に関しては、Let's Encryptを用いています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。