URLの末尾に/(スラッシュ)が付いていない場合は、

スラッシュを付加する。
という感じに、.htaccess内でmod_rewriteを使って実現したいのですが、方法が分かりません。

mod_rewriteの勉強をして自己解決した所ですが、時間があまりないので質問させて頂きます。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2010/05/20 10:41:13
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:chyopper No.1

回答回数416ベストアンサー獲得回数69

ポイント60pt

http://d.hatena.ne.jp/hiro-tak/20080508


以下を.htaccessに記述

RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_URI} !\.[^/\.]+$
RewriteRule .* %{REQUEST_URI}/ [L,R]

URLがファイル名だと推測される場合

(最後の/以下のURLに. が含まれていた場合)

にはスラッシュの補完をしないようにしています。

id:pikab1

ありがとうございます

2010/05/20 10:40:18
id:tezcello No.2

回答回数460ベストアンサー獲得回数69

ポイント40pt

こういうのを見た事があります。(mod_rewrite では無いですが)

RedirectMatch 301 ^([^.]*[^/])$ $0/

http://www.apache.jp/manual/mod/mod_alias.html#redirectmatch

id:pikab1

ありがとうございます

2010/05/20 10:40:20
id:b-wind No.3

回答回数3344ベストアンサー獲得回数440

ポイント25pt

やり方は色々あると思うけど

RewriteEngine On
RewriteCond -d %{REQUEST_FILENAME}
Rewrite ^(.+[^/])$ $1/ [L,R]
id:pikab1

ありがとうございます

2010/05/20 10:40:27

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

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

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

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

回答リクエストを送信したユーザーはいません