「 .htaccess 」での「 RewriteRule 」の質問です


、 imgboard.cgi にアクセスがあったとき・・・
・ xxmydomain( と言うか xrea.com )内からであれば置き換えしない
・ それ以外であれば、http://xxdomain.com/index.htm に置き換える
という目的で以下の記述をしました

RewriteEngine On
RewriteCond %{HTTP_REFERER} !http://xxdomain.com/|imgboard.cgi
RewriteRule imgboard.cgi http://xxdomain.com/index.htm [R,L]

これで、とりあえず最初のアクセスは希望通りになりました
しかし、投稿や投稿削除などをすると、それらは反映されるけど、
掲示板に戻らず http://xxdomain.com/index.htm に置き換えされ
てしまいます

回答の条件
  • 1人5回まで
  • 100 ptで終了
  • 登録:
  • 終了:2006/08/27 19:01:37
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答7件)

<前のツリー | すべて | 次のツリー>
追試してみました tezcello2006/08/27 12:36:51ポイント1pt

以下の条件で追試してみました。

質問者と全く同じ環境を用意は出来ませんので、適宜読み替えて下さい。

1156589661/
          +- A.htm
          +- php/
               +- A.php

というディレクトリ構成で、

A.htm 内で
 <a href="php/A.php">A.php</a>

A.php からの出力で
 <a href="A.php?A=1">to myself</a>

.htaccess で

RewriteEngine On
RewriteCond %{HTTP_REFERER} !http://test
RewriteRule A.php http://test/1156589661/A.htm [R]

と記述しました。

この時、A.htm のリンクも A.php から自分自身へのリンクも A.php をチャンと表示しています。

別なページを表示している状態から、A.php を含むアドレスへ行こうとすると A.htm が表示されます。

http://test/1156589661/A.php http://test/1156589661/php/A.php どちらでも)

こういった動作がご希望のものだと思うので、問題無いかと思うのですが、いかがでしょうか。


追試の途中で、A.php 内での記述を http://test/1156589661/A.php

とした時に、ページが見つからないと表示されて、再読込をすると A.htm が表示される事がありましたが、このような状態ではありませんか?


RewiteCond で二つの条件を|(パイプ)で繋いでいますが、条件の結合はフラグで行うみたいですが、どうでしょうか?

また、imgboard.cgi は xxdomain.com の配下にあるはずなので、今回の場合は imgboard.cgi に関する記述は不要と思いますが?

<前のツリー | すべて | 次のツリー>

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

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

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

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

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