- ベストアンサー
mod_rewriteを適用して
mod_rewriteを適用したところ、リンク先HTMLがおかしくなりました。 http://xxx.jp/rewrite.php?p=1 ↓ http://xxx.jp/rewrite/1 とするようにルールを以下のように設定しました。 RewriteRule ^/rewrite/([0-9A-Za-z)]+) /rewrite.php?q=$1 すると、ドキュメントルート直下の他のファイル(hoge.php)へのリンク先HTMLが http://xxx.jp/rewrite/hoge.php となってしまいます。 なぜこうなってしまうのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
rewrite.phpの出力で、<a href="hoge.php"> のようになっているのではないでしょうか? ブラウザは、http://*.jp/rewrite/1 をアクセスしているつもりなので、相対指定の hoge.php は、http://*.jp/rewrite/hoge.php になるのは当然のことです。 <a href="/hoge.php"> と出力するようにしましょう。
お礼
ありがとうございます! <a href="/hoge.php"> と出力するようにしたら求めていた動作になりました! mod_rewriteについてもうひとつ疑問点があるのですが、 良かったら新しい質問にもお答えいただけたらと思います。 http://okwave.jp/kotaeru.php3?q=2348908