「Xserverで新ブログを作ったが、いつまでも
「無効なURLです。プログラム設定の反映待ちである可能性があります。しばらく時間をおいて再度アクセスをお試しください。」
が3日間出続けた結果、解決したのでこちらで原因と解決法を解説します。
特殊な事例になりますが、同じような環境の人には役立つのではないかと思いましたので、その解決法を共有したいと思います
。
その特殊な事例とは、
[st-midasibox title=”ポイント” fontawesome=”fa-check-circle faa-ring animated” bordercolor=”#FFC107″ color=”” bgcolor=”#FFFDE7″ borderwidth=”” borderradius=”5″ titleweight=”bold” myclass=””]
ドメインのトップにこれまでブログをつくったことがなく、サブドメインにばかりいくつものブログを作っていたが、今回初めてドメインのトップにブログを作った
[/st-midasibox]
という事例です。
この状況で、何をしても解決せず三日間このメッセージが出続けました。
原因は、これまでの運用歴の中で、トップにある「.htaccess」にすでにリダイレクトコードを入れていたからでした。
目次
ネットに出ている情報は、どれも該当しない
ネットには、次のような解決法がでています。
○ 実際には反映されているのに、残っているキャッシュのほうを読み込んでいる場合
キャッシュが反映されないシークレットモードで入力してもためだったので、キャッシュが残っているわけではない。
◯ ネームサーバーが浸透していない、もしくは記述違い
すでにサブドメインに立ち上げたブログは問題なく表示されているためネームサーバーは関係ない。
出ている情報のどれにも当てはまらず,1日待ってみたが、アクセスできないまま。
ずっと「無効なURLです。プログラム設定の反映待ちである可能性があります。しばらく時間をおいて再度アクセスをお試しください。」が出続けます。
何をしても解決しません。
そういう人も多いのではないかと思います。
もし、
そのドメインを長く運営していて、サブドメインにブログがいくつもある人
は、最終解決として、「.htaccess」を疑ってみてください。
これまでの運用歴のどこかでいじっている可能性があります。
なぜ「.htaccess」をうたがう?
最初にブログをインストールした時、アドレスは「http」であり「https」ではありません。
なので、新ブログにアクセスするためには「http」から始まるアドレスでアクセスします。
ところが、「無効なURLです。プログラム設定の反映待ちである可能性があります。しばらく時間をおいて再度アクセスをお試しください。」が出てしまいます。
3日間ずっとそのままでした。
いくら、「http」のurlで入力しても、アドレスバーに表示されるのは「https」の方でした。
アドレスバー「https」から「s」を手動で消してもう一度やりなおしても、やはり「https」になってしまいます。
このことから、もしかしたらhttpがhttpsにリダイレクトされているのではないかと考えました。
それをリダイレクトさせているのは「.htaccess」
ドメインルートにおいてある「.htaccess」のはずです。
ここにリダイレクトするためのコードを記述しているはずだと思いました。
僕は、これまでずっとこのドメインルートの「.htaccess」にはリダイレクトのコードはかいていないと思っていました。
リダイレクトコードを書いている「.htaccess」ファイルは、「知的生活ネットワーク」のあるサブドメイン「lala」のトップディレクトリに置いているつもりだったんです。
4年ほど前にサイトをSSL化した時、苦労してコードを追加してリダイレクトするようにしたのですが、ドメイントップにはブログを置いていないので、「lala」のサブドメインのTOPに「.htaccess」をおいてリダイレクトコードをいれたんです。
ところが、それは思い違いで、ドメイントップにおいている「.haccess」にリダイレクトコードを書いていたのではないかと思いました。
そうしたら当然、いくら「http」で入力しても「https」の方にリダイレクトされてしまいます。
一般的にはブログのダッシュボードから設定画面に入って「一般」タブからブログのURLを「s」つきの「https」に変えることになります。
しかし、ダッシュボードに行く前に、「.htaccess」が効いてしまって、「https」の方のダッシュボードに転送されてしまいます。
まだブログのURLを「s」つきに「https」に変更する前なので、[https]で始まるURLの管理画面には当然いけないわけです。
[st-kaiwa1]
「s」つきのURLにするために管理画面に行くのに、その管理画面が「s」つきのURLにリダイレクトされてしまっているので、どうやってもどうにもならないわけですね。
なので、できることは一つ
「.htaccess」を編集して、リダイレクトコードをいったん消すしかありません。
「.htaccess」からリダイレクトコードを消す
上のように仮説を立てました。
そして,ドメイントップの「.htaccess」をのぞいてみると・・・
見事にリダイレクトコードを書いていたのを発見しました。
そこで、リダイレクトのコードを削除してから、「http」から始まるurlを入れてみたところ、見事にブログが表示されたのでした。
すごくうれしかったです。
一般的には、ブログを作った後、
- まず独自SSL化をして「https」でも開けるようにして置き、
- その後ブログでの「設定」からブログURLを「http」から「https」に変えます。
そうしておいて、「http」でも「https」でもどちらでも併用できる環境を整えた後、
「.htaccess」にリダイレクトコードを書いて「http」で入力した人が自動的に「https」に転送されるようにするという順番を踏みます。
あくまでも「.htaccess」でのリダイレクト(httpからhttpsへの転送)は最後の手順なんです。
ところが、今回の事例では、過去の運用歴の中で「.htaccess」にすでにリダイレクトコードを貼ってしまっていました。
[st-cmemo fontawesome=”fa-hand-o-right” iconcolor=”#3F51B5″ bgcolor=”#E8EAF6″ color=”#000000″ iconsize=”200″]今回の「無効なURLです。プログラム設定の反映待ちである可能性があります。しばらく時間をおいて再度アクセスをお試しください。」の原因は、すでにドメイントップの「.htccess」にリダイレクトコードを書いていたからというのが原因だったわけです。[/st-cmemo]
今回の事例に合わない方でも、もし長く運用しているドメインでこのメッセージが出て、なにをやっても解決しない人は、「.htacces」にすでにリダイレクトコードがかかれてないかどうか調べてみてください。
まとめ~これからすること
なので、これからすることは
- 改めてSSL化をし
- 設定からブログのURLを「htps」にすること。
リダイレクトコードをはずした今のままでは、「http」も「https」もどちらも存在してしまうので、同じコンテンツなのにURLが違うという二重コンテンツになってしまいます。
なので,改めて「http」でアクセスされたものを「https」に流すリダイレクトをするために、「.htaccess」にリダイレクトコードを追加することです。
僕の場合は、このことで三日間の激闘の末、解決できました。
コメント