htaccessなんかの設定で、

下記3つのフォルダ配下"以外"へのアクセスすべてを、
別のドメインの対応するフォルダやファイルに転送するには、
どうしたらいいでしょうか?

◆例→
<転送したくないフォルダ>
http://example.com/hello/a/
http://example.com/hello/b/
http://example.com/goto/

<転送先>
http://www.yahoo.co.jp/


http://example.com/thankyou.html は
http://www.yahoo.co.jp/thankyou.html に転送される。他も同様。

ただし、
http://example.com/hello/b/thankyou.html は転送しない。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/04/20 14:05:07
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:rouge_2008 No.1

回答回数595ベストアンサー獲得回数351

ポイント100pt

http://example.com/のルートに設置する.htaccessに次のように記述します。

RewriteRule ^/?$ http://www.yahoo.co.jp/ [R=301,L]
# 条件に除外フォルダを指定します。
RewriteCond $1 !^(hello/a|hello/b|goto)
RewriteRule ^(.+)$ http://www.yahoo.co.jp/$1 [R=301,L]


次のように除外フォルダを%{REQUEST_URI}を利用して指定する事もできます。

RewriteRule ^/?$ http://www.yahoo.co.jp/ [R=301,L]
RewriteCond %{REQUEST_URI} !/?(hello/a|hello/b|goto)/?
RewriteRule ^(.+)$ http://www.yahoo.co.jp/$1 [R=301,L]


※.htaccessではなく、httpd.confで設定する事もできます。

id:tetlis

ようやく試せましたがバッチリでした。ありがとうございます。

2012/07/05 22:58:07

コメントはまだありません

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

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

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

回答リクエストを送信したユーザーはいません