人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

[mod_rewrite]「/」をつけてもつけなくてもOKにしたい。

今こんな感じ。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^_detail/([0-9]+)/([0-9]+)/(.+)/$ Id_detail.php?name=$1&id=$2&data=$3

これだと
_detail/1/1/hoge/
では通るが
_detail/1/1/hoge
では通らない。

両方通るようにするにはどうすればよいですか?
ちなみに
AllowEncodedSlashes On
をつけたらエラーページに飛びました

●質問者: catfrog
●カテゴリ:インターネット ウェブ制作
✍キーワード:hoge mod_rewrite name ON PHP
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● GEN111
●35ポイント
RewriteRule ^_detail/([0-9]+)/([0-9]+)/(.+)/?$ Id_detail.php?name=$1&id=$2&data=$3

「$」の前に「?」を付けてみては?

http://q.hatena.ne.jp/1170823451

◎質問者からの返答

それだと両方通るんですが、

_detail/1/1/hoge/

を画面表示したときに最後の「/」も表示されちゃうんですよね。。


2 ● b-wind
●35ポイント

_detail/1/1/hoge/

を画面表示したときに最後の「/」も表示されちゃうんですよね

良く分からないけど、スラッシュ無しに統一したいと言う事?

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^_detail/([0-9]+)/([0-9]+)/(.+)/$ _detail/$1/$2/$3 [R,L]
RewriteRule ^_detail/([0-9]+)/([0-9]+)/(.+)$ Id_detail.php?name=$1&id=$2&data=$3 [L]

とリダイレクトするとか?

Apache module mod_rewrite

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ