NotFound時にエラーページに自動転送されるサーバでの対策

このQ&Aのポイント
  • 旧サイトからロリポップにサイトの引越しをした際、メルマガ内のデッドリンクを修正する方法
  • ロリポップのエラーページでリンク先を特定する方法
  • TinyURLで短縮したURLの復号方法と対策
回答を見る
  • ベストアンサー

NotFound時にエラーページに自動転送されるサーバでの対策

NotFound時にエラーページに自動転送されるサーバでの対策 旧サイトからロリポップにサイトの引越しをしたのですが、前任者が発行していたメルマガから旧サイトに張られていたリンクがいくつかデッドリンクになっているので、それをつなぎ直しているところです。 しかし、そのメルマガに入れてあるリンクを、前任者がTinyURL.comのサービスで短縮してしまってあるため、メルマガを見ても実際のリンク先がわからず、困っています。 例えばOKWaveで、サイト内に存在しないURLを入力してアクセスした時は「404 Not Found お探しのページは見つかりませんでした」という表示が出てもアドレスバーには自分が実際に行こうとしたページのURLが出ているので「あ、aaa.htmlがリンク切れになってるな」とわかるのですが、ロリポップの場合はNotFoundだと http://err.lolipop.jp/404.html に自動的に飛ばされてしまうので、何と言うページを再作製したら良いのかわからないのです。 ロリポップのサポートに連絡したところ、エラーページに自動転送される設定は外せないとの回答がありました。 TinyURL.com に行ってみても、一旦短縮してしまったURLの復号方法が見当たらないのですが、何か対策はないでしょうか? ロリポップでは、ロリポップの用意したエラーページでなくユーザーが自分で用意したエラーページに飛ばすことも出来るようですが、それでは、そのオリジナルエラーページを作る際にそのソースにJavascriptを埋めるなり何なりで、TinyURLが何と言うページを要求してきたのか表示させる方法とか、何か無いでしょうか?

  • chack
  • お礼率100% (279/279)

質問者が選んだベストアンサー

  • ベストアンサー
  • LOHA
  • ベストアンサー率52% (203/388)
回答No.2

http://tinyurl.com/ykqgqk8←こちらにアクセスしてみて頂くと、ロリポップのオリジナルのNotFound画面になってしまうので、アドレスバーを見ても本当のアクセス先でなくhttp://err.lolipop.jp/404.htmlという表示になってしまい、何というURLにアクセスしようとしたらエラーになったのか知る術がありません。 あーあれですね。 私はFirefoxでRequestPolicyというアドオンを使っているので、リダイレクトの時に一度止まるので、アドレスが分かっちゃったりします。 それと、リダイレクトチェッカーなるモノを発見しました。 http://www.webconfs.com/redirect-check.php これでチェックすればいちいちアクセスするひつようがなくなり楽かもしれません。 適当なスクリプト書けば一括処理させることも出来ると思うので、もし数あるようだったら作ってみると良いかもですね。 >※こちらで私のサイトを宣伝する訳に行かないので上記は架空のドメインですが なのでどこのサイトかわかっちゃいましたが、まぁ気にしないことにします。。。 >.htaccessを使い、存在しないページにアクセスされた場合はサイトのトップに誘導するようにすればとりあえず完全なNotFoundは防げますが、私の場合、それではダメで、アクセスされたページ毎に別々の転送先を作らなければならないので困ってしまっていまして… そのメルマガのリンク先はある程度決まっているわけではないんですかね(メルマガ用ディレクトリを作っていたとか)。もしある程度決まっているなら、NotFoundページをcgiにして、メルマガ用NotFoundを作るとかの策も考えられますが。

chack
質問者

お礼

再度のご回答をどうもありがとうございます。 > リダイレクトチェッカーなるモノを発見しました。 おおっ! これは… これで一気に解決です。 ロリポップのサーバ内に何か設定をしなくても転送先を取得する方法があったんですね。 > そのメルマガのリンク先はある程度決まっているわけではないんですかね そうですね… 規則性のあるリンク先と、その時その時で思いつきで作られたと思われるリンク先があり、その思いつきで作られたリンク先の発見に苦慮していました。 おかげさまで助かりました。 どうもありがとうございました!!

その他の回答 (1)

  • LOHA
  • ベストアンサー率52% (203/388)
回答No.1

>しかし、そのメルマガに入れてあるリンクを、前任者がTinyURL.comのサービスで短縮してしまってあるため、メルマガを見ても実際のリンク先がわからず、困っています。 実際に飛んでみればリダイレクトされると思うのでアドレスは(TinyURL.comのデータベースで生きているなら)分かると思いますよ。 >TinyURL.com に行ってみても、一旦短縮してしまったURLの復号方法が見当たらないのですが、何か対策はないでしょうか? おそらく内部的にデータベースを持っていてそれを使ってリダイレクトしているだけだと思うので復号のようなことはできないかと。 どういう構成なのか詳細が分からないため具体的なことは言えませんが、TinyURLによるリダイレクト先は元のサーバーのURLですよね。 ということはロリポップではなく、元のサーバーのエラーページへ行くことになるのではないでしょうか。 #あるいはドメイン名はそのまま使っているのかな?

chack
質問者

お礼

ご回答ありがとうございます。 えーと、その「実際に飛んでみる」をすると、NotFoundになるわけです。 例えば、私の使っているドメインがこのOKWaveのものだとして、旧サーバでは http://okwave.jp/sonnano-arimasen.cgi?s=1 というURLがあったとします。 しかし、新サーバでは現在そのようなページはなく、しかも、旧サーバーにどのようなURLが存在したのかはもう誰にもわからなくなってしまっています。 手元に元ファイルも無いので。 お手数ですが、 http://tinyurl.com/yjgx8mj ←こちらにアクセスしてみて頂けますか? 実際にアクセスしてみて↑ここにアクセスした結果のようなことになれば、他のページに転送されてしまってもアドレスバーを見れば「ああ、元のURLは「http://okwave.jp/sonnano-arimasen.cgi?s=1 だったのか」とわかりますが、 http://tinyurl.com/ykqgqk8 ←こちらにアクセスしてみて頂くと、ロリポップのオリジナルのNotFound画面になってしまうので、アドレスバーを見ても本当のアクセス先でなく http://err.lolipop.jp/404.html という表示になってしまい、何というURLにアクセスしようとしたらエラーになったのか知る術がありません。 本当は、上記のように「ああ、元のURLは「http://okwave.jp/sonnano-arimasen.cgi?s=1 だったのか」と、欠落しているページを知り、「じゃあ、ダミーとしてsonnano-arimasen.cgiというファイルを作らなくちゃ」という事をしなければならないのです。 .htaccessを使い、存在しないページにアクセスされた場合はサイトのトップに誘導するようにすればとりあえず完全なNotFoundは防げますが、私の場合、それではダメで、アクセスされたページ毎に別々の転送先を作らなければならないので困ってしまっていまして…

chack
質問者

補足

お礼欄に書き忘れました。 > #あるいはドメイン名はそのまま使っているのかな? そうなんです。 独自ドメインなので、旧サーバでも www.aaa.jp、新サーバでもwww.aaa.jp といった具合です。 ※こちらで私のサイトを宣伝する訳に行かないので上記は架空のドメインですが

関連するQ&A

  • URLの自動転送について

    今回、サイトの移転にともない、URLを自動転送 したいと思っております。 META タグを使用して、<META HTTP-EQUIV="Refresh" CONTENT="10;URL=http://~index.html">などで トップページを転送できるということまではわかったのですが、 それ以外のページをどのようにして転送したらよいのかがわかりません。 例えばドキュメントルートにtestというフォルダがあり、 その中に1.html,2html,3htmlと複数ファイルあった場合に すべて新しいサーバに自動的に転送したいです。 (できれば1.html,2html,3htmlなどのファイルすべてに自動転送の設定を  せずに転送したいです。)  旧:http://www.aaa.co.jp/test/1.html       ↓ (自動で転送)  新:http://www.bbb.co.jp/test/1.html  ※2.htmlや3.htmlも同様に転送したいです。 ドキュメントルートにあるフォルダやファイルの構成自体は まったく変わらないため、http://www.aaa.co.jp/test以下に あるコンテンツはすべてhttp://www.bbb.co.jp/testに 自動転送できるような方法はありますでしょうか。 なお、今回使用しているサイトが入っているサーバは OS:Windows2000Server、WebサーバとしてApacheを動かしており 設定変更などは自由にできる環境です。 何か参考になるページなどがあれば教えて頂ければ幸いです。

  • 404ページなどのエラーページのURLについて

    ロリポップにてサイトを作っているのですが、404エラーが起きたときに、 URLがたとえば「hoge.jp/naiyo」という存在しないファイルにアクセスしたときに、私の場合表示されるだけでなく、「hoge.jp/404」というエラーページにURLが移動してしまうのですが、OKWaveなどのサイトを見てみると、URLは移動しません。 どうすればURLをそのままでエラーページを表示できるでしょうか? ちなみにエラーページ表示のhtaccessの内容は 「ErrorDocument 404 http://hoge.jp/404」 と設定しました。

  • 旧URLにアクセスした時、新アドレスに転送したい

    旧URLにアクセスした時、新URLに転送したいのですが、旧URLはプロバイダーを契約解除した為「リンクが変更になりました」等のお知らせをもう載せることが出来ません。 諸事情により、私ではない身内がプロバイダーを解約してしまった為、アクセスして来た人は何のお知らせもなくサイトが消えてしまった事になります。 現在はさくらインターネットでサーバーを借り、ドメインも取得しました。 旧アドレスは8年間程継続して同じアドレスだった為、仕事関連のキーワードを入力するとGoogleでは、1ページ、2ページ、YAHOOでもかなり上位に出てきていましたし、被リンクの数も結構ありました。 新しくサイトを作ったのは良いのですが、今、ほぼアクセスがない状況です。 旧アドレスにアクセスすると「ご指定いただいたURLでは、ページが見つかりません。」となっています。勿論すべて削除されています。 旧アドレスにアクセスした際、新アドレスに自動転送されるように、今のサーバーで何か出来ることはあるでしょうか? 個人のサイトですが多い時には1000アクセス程ありましたし、そのお陰で仕事もありました。 今も多分旧アドレスにアクセスしていただいている方が多いと思います。 何とか新アドレスに導く方法がないかと思っています。 この状況から脱したいです。どなたかお知恵をお貸し下さい。 今、必死で色んなサイトに登録していますが、昨日のアクセスは10程度でした・・・新規のお仕事は勿論全くありません(泣)

  • ページから他のページへの自動転送をブロックしました

    Firefox 33.0.2です。 ウェブメール等のリンクをクリックし、新しいタブにリンクページがロードされ始める前に、 「このページから他のページへの自動転送をブロックしました。」 という表示が、ツールバーの下に出ます。 この表示を出ないようにして、リンク先が表示できるようにしたいと思います。 ブラウザの設定のどこをどう直せば可能でしょうか?

  • 404エラーのページ作成について

    404エラーのページ作成についてなのですが、もしかするととても簡単なのかもしれませんが検索をして捜しても見つからなかったので質問させてください! 404エラーに関して.htaccessを使用しリダイレクトする方法はたくさん見つかりました。 しかし今回希望しておりますのが、 例えばサイトURLが http://hoge.com/ だったとします。 そして用意したページが error.html とします。 そして http://hoge.com/hogehoge.htmlのように存在しないページにアクセスしたとします。 .httaccessを使用してerror.htmlを使用するとすると自動でリダイレクトされアドレスは http://hoge.com/error.htmlになります。 しかしやりたいのは存在しないページのURL(ここでいいますhttp://hoge.com/hogehoge.html)がアドレスバーに残ったまま表示はerror.htmlの表示をしたいと思います。 実際にTOYOTAのサイトなどがやっています。 上記のやり方を教えていただければと思います。 お手数おかけしますがよろしくお願い致します。

  • ホームページビルダー9でページの転送不可で困っています。

    ホームページビルダー9を使ってホームページを作っているのですが、この前更新し、一つのページにあった文章を3つのページに分け、リンクを結びました。 そしてそのサイトを転送したところ、3つのうち2つのページが「ファイルの転送中にエラーが起こりました」としておくれませんでした。 ビジュアルサイトビューを見るとその2つのページに*マークがついていました。 そのファイル名を確認しましたが、半角英数で問題なさそうだし、3つのうち1つは送れているので転送設定にも間違えはないと思います。 またプロバイダの書類を見ても空き容量はまだ沢山ありそうで何が原因で転送できないのか分からず、困っています。 質問に答えてくだされば幸いです。 よろしくお願いします。

  • 『実行しましたが、ページでエラーが発生しました。』の表示

    転送URLを利用しています。 転送URLでHPにアクセスすると、「実行しましたが、ページでエラーが発生しました。」とステータスバーに表示されます。 クリックすると 「ライン:3 文字:1 エラー:アクセスは拒否されました コード:0 URL:(実際のURL)」 「ライン:2 文字:926 エラー:アクセスは拒否されました コード:0 URL:(実際のURL)」と表示されますが、何がいけないのか判りません。 そのページ内には、アクセス解析2種・フローティングフレーム・ステータスバーにメッセージの表示・HPにリンクが貼られるとRSSお知らせするという「track feed」というのを付けています。そして、この転送URLでアクセスすると、何故か「track feed」のアイコンが表示されないのです。 転送URLでなく、実際のURLにアクセスすると、ステータスバーのエラー表示もありませんし、「track feed」のアイコンも表示されています。 何故、転送URLでアクセスした時にのみ、エラーが出たり、アイコンが表示されなかったりするのでしょうか? おわかりになる方がいらっしゃいましたら、ご回答宜しくお願いします。

  • Servletでのエラーページへの転送方法について

    ServletでDBにアップロードするページをつくろうとしてます。そこで、登録フォームの入力チェックをし、エラーがあればエラーページに転送したいのですがうまくいきません。 下記がプログラムの一部なのですが、 ------------------ (省略) name = req.getParameter("NAME"); // 文字列の長さのチェック(入力文字にエラーがあればエラー文字列を追加) errorMessage += エラーチェックメソッド(name); // エラーメッセージが設定されていたら if(!errorMessage.equals("")) { // request オブジェクトにエラーメッセージを設定 req.setAttribute("error_message", errorMessage); ServletContext sc = getServletContext(); //エラーページへ転送 RequestDispatcher rd = sc.getRequestDispatcher("エラーページURL"); rd.forward(req,res); } } name = new String(name.getBytes("8859_1"),"SJIS"); //登録処理 (省略) -------------------- 登録フォームで無記入で登録して、エラーを発生させてると下記の様なエラーが発生してうまくエラーページに転送ができません。 どの様にエラーページに転送すればいいのかわからず、困ってます。 どのたか、ご教授頂けないでしょうか?よろしくお願いいたします。 -------------------------- エラー内容 'NAME' には、長さ 0 の文字列を格納できません。

    • ベストアンサー
    • Java
  • ホームページビルダーでページ転送できません。

    いつもお世話になっています。 windows vista 、ホームページビルダーはバージョンv6 使用です。 ホームページビルダーでページを作成(15ページほど)し、トップ画面だけページ転送しようとしますが、うまくいきません。 サーバはFC2です。 ・ホームページビルダーでトップページを開き(ファイル名はindex.html)、ページ転送。転送エラー(0)がでました。FC2の管理画面からホームページURLをクリックして開きますが、このページは準備中です。という表示が出てきていました。 ・ウイルスバスターが邪魔をしているのかもと思い、停止後再度ページ転送をおこないますが、転送エラー(0)。ウイルスバスター削除後も同様でした。 ・ファイルマネージャーでもアップできるようでしたので試みました。ファイルマネージャーを開いたときに出てくる画面でファイルをアップロードしましたが、ホームページURLには適応されず。ディレクトリのところのiというフォルダやnew.dirを開いてそこにindex.htmlをアップロードしてみました。何をしたときか覚えていませんが、いつの間にかURLでページが表示されるようになりました。でも、パスワードが要るんだったんです。 よくファイルマネージャーを見たら、iやnew.dirの後ろに南京錠のマークがあり、外そうとしましたが外し方が分からないので削除しました。 すると、今度はURLを開くとエラーが出るようになりました。 『このファイルにアクセスする権限がありません。』と出ます。 でも、ホームページビルダーからページ転送すると転送完了になるんです。でもウェブ上ではエラー。。。 相談箱や知恵袋でずいぶん調べましたが、もうお手上げです。 どなたかお助けください。 よろしくお願いいたします。

  • firefoxを使っているのですがサイトに行くと「ページの自動転送設定

    firefoxを使っているのですがサイトに行くと「ページの自動転送設定が正しくありません。このアドレスへのリクエストに対するサーバの自動転送設定がループしています。 Cookie を無効化したり拒否していることにより、この問題が発生している可能性もあります。」と出てきます。 色々解決法を探し回っているのですがなかなかよくなりません。だれか直す方法知っていますか?知っていたら教えてください。