Do You PHP はてブロ

Do You PHPはてなからはてブロに移動しました

ルートにスラッシュを含める

ほとんどFAQなんでしょうね。
たとえば、

/myapp/foo/bar/d.hatena.ne.jp%2Fshimooka%2F/1/2/3

というURLで

  • module=foo
  • action=bar
  • 残りは何らかのパラメータ

という場合の話。
実行すると、

d.hatena.ne.jp%2Fshimooka%2F

の部分がsfAction#getRequestParameter()で正しく受け取れなくて

d.hatena.ne.jp

shimooka

に分かれてしまいます。
ちょっとはまってましたが、symfonyレベルではないことに気づき、Apache側の設定を探してみると。。。ありました。

ここにモロ書いてますね。

AllowEncodedSlashes On による パス分離文字の使用は、PATH_INFO と合わせて 使うときに一番役に立ちます。

ということで、httpd.confに

AllowEncodedSlashes On

を追加してApacheを再起動すると、無事

d.hatena.ne.jp/shimooka/

を受け取れました。