[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
をつけたらエラーページに飛びました

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/02/07 13:44:13
  • 終了:2007/02/14 13:45:03

回答(2件)

id:GEN111 No.1

GEN111回答回数472ベストアンサー獲得回数582007/02/07 13:58:42

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

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

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

id:catfrog

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

_detail/1/1/hoge/

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

2007/02/07 14:34:46
id:b-wind No.2

b-wind回答回数3344ベストアンサー獲得回数4402007/02/07 14:53:06

ポイント35pt

_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

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません