なんで取得できないのかさっぱりわからなくて、いろいろ検証してみた。
最初の状態はこんな感じ
web/index.php ← フロントエンド用のフロントコントローラー
web/manager.php ← 管理画面用のフロントコントローラー
まず、新しくプロジェクト作成してまっさらな状態できちんと取れるか試してみた。
routing.ymlはこんな感じ
testIndex:
url: /test
param: { module: test, action: index }
test:
url: /test/:value
param: { module: test, action: index }
この場合は特に問題なく取得することができた。
次にルーティングのURLの階層を増やしてみたが、これも問題なかった。
testIndex:
url: /dummyA/dummyB/test
param: { module: test, action: index }
test:
url: /dummyA/dummyB/test/:value
param: { module: test, action: index }
管理画面用のフロントコントローラーの場所を一階層下に変えてみた。
web/manager/index.php
それに伴い.htaccessを書き加えた。
RewriteRule ^manager(.*)$ manager/index.php [QSA,L]
こうするとvalueが取れなくなった。
mod_rewriteのせいなのかもしれない。
が、これをどう書き直せばrouting.ymlがちゃんと取ってくれるのかがわからない…。
そこで、フロントコントローラーのファイル名と場所を元に戻し、.htaccessを以下のように修正してみた。
RewriteRule ^manager(.*)$ manager.php [QSA,L]
こうすると取得できるようになった。
とりあえずこれでよしとする。