1.経緯を申し上げますと、レンタルサーバーでとるべきディレクトリの構造に不適切な点があり
以下の変更前のURLから変更後のURLに.htaccessでリダイレクトさせることとしました。
●変更前のURL
https://www.example.com/hoge/bar.php
●変更後のURL
https://www.example.com/hoge/main/bar.php
htaccess
1<IfModule mod_rewrite.c> 2RewriteEngine on 3RewriteCond %{HTTPS} off 4RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 5RewriteRule bar.php https://www.example.com/hoge/main/bar.php [R=301,L] 6</IfModule>
■使用しているレンタルサーバー:ロリポップサーバー(スタンダードプラン)
2.実際には/mainのディレクトリを通すだけの単純な問題でもないのですが、ここでは単純化したものとして
これを前提とさせていただくとともに、変更前のURLのファイルは削除する必要があるという点を所与のものとして質問をさせてください。
3.以前、.htaccessの記法についてご質問をさせていただき、この時に正しい.htaccessのコードでリダイレクトせずに、最終的にcacheの問題で、.htaccessが正しく実行されないことがあり、ブラウザのcacheをクリアすることで解決することができました。
ここで、重大な問題に気がついたのですが、既存のユーザーを自然にサーバー内で、ファイルの場所が移転したことを、意識させずにリダイレクトさせることが目的で.htaccessのリダイレクトさせているはずがどのユーザーのクライアントにもcacheの問題があり私と同じように、ブラウザにキャッシュをクリアしてもらわなければ.htaccessのリダイレクト自体になんの意味もないことに。。
とはいうものの、サイトの移転やディレクトリ構造の変化において、htaccessによるリダイレクトについては一般的な記事としてもレンタルサーバー側の案内としても当然ある以上、問題の解決方法が何かあるものではないか?という疑問から、実務的な対策をアドバイスをいただきたく問い合わせさせていただきました。
少し今回クセがあるのが、元のURLのファイルを遅かれ早かれ削除する必要があり、このファイルにリダイレクトを直接書き込むことができないという状況だけ申し添えさせてください。
よろしくお願い申し上げます。
回答1件
あなたの回答
tips
プレビュー