httpsでインデックスされたアドレスをリダイレクトさせる方法 php使用
凝り固まった知識と、それまでの経験などによって、
見えない部分が沢山あることは多々あると思います。
そんなわけで、httpsにてインデックスされたページを、
どうにかして元のアドレスでインデックスしてほしい、と思い、
色んなサイトを巡りまくってました。
過去に、「リダイレクトは.htaccessを使ったほうがいいよ」とか、
「.htaccess以外だと、うまくいかないかもよ」みたいなことを言われていたような気がして、
洗脳されておったわけです。
それを払拭させてくれた記事を見つけることができました。
「blog に HTTPS でアクセスできないようにしました」
感動してトラックバックも送ってしまいましたが、
記事の内容は、httpsでのアクセスがあれば、httpにリダイレクトさせるという感じです。
凝り固まった頭をすっきりさせてくれたのは、その方法です。
さっきまで俺がとっていた方法は、
.htaccessで、httpsできたらhttpへ飛ばすような処理だったわけです。
しかし、サブドメインサイトだからなのか、
それとも、SSL認証ページの構造を知らないためか、うまくいかずムキー!となっていたわけです。
上記のサイト様で書かれていた方法は、phpでリダイレクトさせる方法です。
これは、今の状況を解決するのにぴったりな方法でした。
ある特定のページのみhttpsでインデックスされていて、
さらに、その特定のページは動的に生成されるページで、
インデックス数が大変なことになっているわけです。
ですが、phpでリダイレクトさせる方法を用いれば、
そのページのphpファイルに記載するだけで、うまくリダイレクトさせることができます。
感動です。泣けてきましたw
とりあえず、簡単ではありますが、
下記のようなコードでいけるみたいです。
if ( $_SERVER['HTTPS'] == "on" ) {
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
exit();
}
セキュリティ的なこととかを全く考えていないので、
かなりまずそうではありますが、とりあえず上記でいけるかと。
「View HTTP Request and Response Header」さんで確認したところ、
ちゃんとリダイレクトされていたので、間違ってはないはずだと思うんですけどね。
今、冷静になって、「php 301 リダイレクト」と検索すれば、
同じような方法が沢山出てきました。
んー、周りが見えなくなった典型的パターンですなぁ。
miau's blog?様には、この場を借りてお礼を申し上げます。
非常に助かりました。
「プログラム」カテゴリの記事
- httpsでインデックスされたアドレスをリダイレクトさせる方法 php使用(2009.01.21)
- javascriptで吹き出しを・・・2(2008.03.10)
- javascriptで吹き出しを・・・(2008.03.08)
- PHPで単純なRSSリーダーを作成(2008.02.26)
- Splitで文字列分割(2008.02.09)



Comments