• ベストアンサー

mod_rewriteを適用して

mod_rewriteを適用したところ、リンク先HTMLがおかしくなりました。 http://xxx.jp/rewrite.php?p=1http://xxx.jp/rewrite/1 とするようにルールを以下のように設定しました。 RewriteRule ^/rewrite/([0-9A-Za-z)]+) /rewrite.php?q=$1 すると、ドキュメントルート直下の他のファイル(hoge.php)へのリンク先HTMLが http://xxx.jp/rewrite/hoge.php となってしまいます。 なぜこうなってしまうのでしょうか?

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

rewrite.phpの出力で、<a href="hoge.php"> のようになっているのではないでしょうか? ブラウザは、http://*.jp/rewrite/1 をアクセスしているつもりなので、相対指定の hoge.php は、http://*.jp/rewrite/hoge.php になるのは当然のことです。 <a href="/hoge.php"> と出力するようにしましょう。

2005-06-28
質問者

お礼

ありがとうございます! <a href="/hoge.php"> と出力するようにしたら求めていた動作になりました! mod_rewriteについてもうひとつ疑問点があるのですが、 良かったら新しい質問にもお答えいただけたらと思います。 http://okwave.jp/kotaeru.php3?q=2348908