Windows XPで構築したサーバーの中にあるホームページにInternet Explorerでアクセスしたら、特定のページ(warning.html)にリダイレクトさせるためにはどうしたらよいでしょうか?

htaccessで制御するものかと自分で調べてスクリプトをいろいろ書いてみましたが、うまくいきませんでした。たぶんLinux用のサンプルを参考にしたからだと思います。なので、回答にはWindowsで使えるhtacceessのソースを書いていただくか、それを書いたページを紹介していただけると助かります。また、それ以外にも方法がありましたらそれでも参考になります。
以上、よろしくお願いします。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/06/17 10:31:25
  • 終了:2010/06/23 16:59:09

ベストアンサー

id:rouge_2008 No.3

rouge_2008回答回数593ベストアンサー獲得回数3502010/06/17 11:51:17

ポイント22pt

WEBルート直下に設置する場合の記述です。

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_USER_AGENT} (MSIE)
RewriteCond $1 !(warning.html)$
RewriteRule ^(.*)$ warning.html [R,L]

※「RewriteCond %{HTTP_USER_AGENT}」でMSIEを指定して、リダイレクトさせています。

http://webtech.akijapan.com/htaccess/rewrite.phtml

※「◇特定のホスト & 特定のブラウザからのアクセスを禁止する」を参照してください。

id:taroemon

私の環境だとそのままコピペしてもうまくいきませんでした。

ここまで来ると設定に問題でもあるかもしれませんね。

しかし、大変参考になりました。

ご回答ありがとうございます。

2010/06/17 21:32:39

その他の回答(3件)

id:yamasenman No.1

yamasenman回答回数23ベストアンサー獲得回数02010/06/17 11:16:47

ポイント23pt

.htaccessに以下のように記述してください。

Redirect permanent 元のディレクトリ名/ファイル名 http://何とか/warning.html

http://www.shtml.jp/htaccess/redirect.html

id:taroemon

ご回答ありがとうございます。

「Redirect permanent http://localhost/index.html http://localhost/warning.html」と書いて.htaccessを作成し、index.html等と同じディレクトリにいれて、http://localhost/index.htmlにアクセスしてみたのですが、リダイレクトされません。どのような理由が考えられるでしょうか?

2010/06/17 11:40:24
id:tezcello No.2

tezcello回答回数457ベストアンサー獲得回数682010/06/17 11:24:53

ポイント23pt

Windows の Webサーバは IIS で提供されます。

IIS では .htaccess が使えません。

http://technet.microsoft.com/ja-jp/library/dd647603.aspx

Apache を使うのなら、Linux のものと同じものが使えるはずです。

もちろん環境に因って記述の中身は当然変わりますが。

id:taroemon

いつもご指導ありがとうございます。

サーバーはIISではなくApacheを使用してます。

これは質問するときに明示しておくべきでした。すみません。


>Apache を使うのなら、Linux のものと同じものが使えるはずです。

第一回答者の方に対する返信にあるとおりに書きましたがうまくいきませんでした。localhostではなく、その部分をIPアドレスにしても結果は同じです。

もう少しいろいろ試してみることにします。

2010/06/17 11:50:12
id:rouge_2008 No.3

rouge_2008回答回数593ベストアンサー獲得回数3502010/06/17 11:51:17ここでベストアンサー

ポイント22pt

WEBルート直下に設置する場合の記述です。

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_USER_AGENT} (MSIE)
RewriteCond $1 !(warning.html)$
RewriteRule ^(.*)$ warning.html [R,L]

※「RewriteCond %{HTTP_USER_AGENT}」でMSIEを指定して、リダイレクトさせています。

http://webtech.akijapan.com/htaccess/rewrite.phtml

※「◇特定のホスト & 特定のブラウザからのアクセスを禁止する」を参照してください。

id:taroemon

私の環境だとそのままコピペしてもうまくいきませんでした。

ここまで来ると設定に問題でもあるかもしれませんね。

しかし、大変参考になりました。

ご回答ありがとうございます。

2010/06/17 21:32:39
id:yamasenman No.4

yamasenman回答回数23ベストアンサー獲得回数02010/06/17 12:46:53

ポイント22pt

No.1のつづきです。

左の項はURLではなく、サーバ内でのディレクトリ指定を書きます。


そちらのサーバのディレクトリ構成が分からないので正確な回答はできませんが、下記の記述にしてみてください。

Redirect permanent index.html$ http://localhost/warning.html
id:taroemon

再度のご回答ありがとうございます。

残念ながらうまくいきませんでした。

でも大変参考になりました。

2010/06/23 16:58:34
  • id:ootatmt
    IIS or Apache or ...?
  • id:taroemon
    コメントありがとうございます。
    見落としてました。Apacheを使ってます。
    よろしくお願いします。
  • id:rouge_2008
    条件の指定方法は、次のページも参考になると思います。
    http://tech.bayashi.jp/archives/entry/techweb/2007/001981.html


    まったく動作しない場合は、Apacheがモジュール(mod_rewrite.so)を読み込む設定になっているか確認してください。
    ※httpd.confに次の行があったら「#」を削除して有効にします。

    #LoadModule rewrite_module modules/mod_rewrite.so



    ※追記※
    回答1の方法が動作しない理由は、リダイレクト元を「http://~」から指定している為だと思います。
    回答1内の参照先に次のようにありますので、リダイレクト元には「index.html」と記述してみてください。
    ※「/」でルートディレクトリを指定すると、warning.htmlも表示されなくなるので、ファイルやディレクトリを一つずつ指定する必要があります。

    ----------------------------------------------------
    「Redirect permanent」の後ろに、リダイレクト元となる「絶対パス(Apacheの公式マニュアルではこのように書いていますが、この「絶対パス」という書き方は非常に紛らわしいと私は思います。「絶対パス」という用語は、rootディレクトリーからのフルパス/home/●●/public_html/~を意味して使われていることもあれば、http://~で始まる絶対URLとしての意味の場合もあります。このケースでは、絶対URLの中から「http://ドメイン名」を省略したパスになります。結局はDocumentRootから見たパスで、かつ「/(スラッシュ)」から始まるものになります。/home/●●/~と書いても動きません。)」を書き、次に半角スペースを空けて、リダイレクト先を記します。
    -----------------------------------------------------

    ※ただし、この方法だとすべてのアクセスをリダイレクトしてしまうので、今回の質問のように、特定のブラウザの場合にリダイレクトさせる条件を指定する場合は、mod_rewriteによる方法を使用してください。
  • id:taroemon
    丁寧なコメントありがとうございます。
    明日のお昼に試してみてあらためてお返事します。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません