プロが教える店舗&オフィスのセキュリティ対策術

サーバーはさくらのスタンダードを利用しています。
mod_rewriteの動作について質問なのですが・・・

/item/details/5/などにアクセスがあった場合実際には
/item/details.php?id=5が動作させるべく.htaccessに以下のように
/(スラッシュ)で区切るとなぜか動作しません。
RewriteRule ^item/details/([0-9])/ item/details.php?id=$1 [L]

試しに以下のように_(アンダーバー)でつなげると意図する動作を
行います。
RewriteRule ^item_details/([0-9])/ item/details.php?id=$1 [L]

どうすれば意図するようなurlで動作することが可能でしょうか?

A 回答 (1件)

RewriteRuleは正規表現ですので、/は正規表現の区切り文字(終了)と見なされると思います。

(たぶん。詳しい動作はわかりません。)

RewriteRule ^item\/details\/([0-9])/ item/details.php?id=$1 [L]

または

<Location "/item/details/">
RewriteRule ^([0-9])/ item/details.php?id=$1 [L]
</Location>

未検証です。

参考URL:http://httpd.apache.org/docs/2.0/ja/mod/core.htm …
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。どちらの方法も試してみたのですが
残念ながら動作しませんでした。
xamppで試した際には問題なかったのでさくらの設定などの関係ですかね^^;

お礼日時:2009/04/05 14:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!