• 締切済み

RewriteRule について

RewriteRule ^([0-9]+)/$ shop.php?&category=$1 このように書きました。 http://aaa.ccc.jp/shop.php?&category=$1 http://aaa.ccc.jp/$1/にアクセスしうまくいったのですが、Internet Explorerの履歴からアクセスするとhttp://aaa.ccc.jp/$1にアクセスしページが表示されません。どうしてでしょうか?最後の/がつかないのですがお教えできないでしょうか?

みんなの回答

  • mpx
  • ベストアンサー率71% (149/209)
回答No.1

>> 最後の/がつかないのですがお教えできないでしょうか? PHPのカテゴリーの内容では有りませんが、 まず履歴に/が付いていないのは/なしでアクセスしたことが有るためにそれが記憶されているだけです。 では、何故 /が無い場合に/が補完されないのかは以下の可能性が考えられます。  その前に/が無い場合に/が補完されたアドレスに飛べる理屈のおさらい  例えばapacheの場合は、mod_dirがインストールされている場合は 最後に/が無くかつ該当するディレクトリが存在する場合は、/を最後につけたURLに301でリダイレクトします。該当するディレクトリが実在しない場合は、リダイレクトせずにエラー応答になります。  そこで、考えられるのは、 ・今回の構成では、http://aaa.ccc.jp/$1 というディレクトリが存在しないためにリダイレクトが働かない。​ ・サーバーにmod_dirが組み込まれていない などですが、心当たりは?

関連するQ&A