URLに最後のスラッシュ / ありの場合だけで良かったらシンボリックリンクをはるだけです。
例えば、自分のディレクトリが /home/foobar だった場合、ホームページのディレクトリは /home/foo/www/htdocs になります。
また、URLは http://foo.co.jp/ だったとします。
このとき、symfonyプロジェクトが /home/foobar/mysymfony にあったとすれば、
cd /home/foobar/www/htdocs ln -s /home/foobar/mysymfony/web bar
こうすることで、symfonyプロジェクトに http://foo.co.jp/bar/ というURLでアクセスできるようになります。
ところが、http://fooco.jp/bar でアクセスすると HTTPのBadRequest がブラウザに表示されてしまいます。
そんなとき
ずばり原因は symfony標準の.htaccess にあります。もちろん、他のサーバ(あるいは他の設定)でしたら symfony標準の.htaccess できちんと動きます。たまたま相性が悪かったということです。
変更ファイルは /home/foobar/mysymfony/web/.htaccess で、変更のポイントは2つ。
変更前。
RewriteEngine On # uncomment the following line, if you are having trouble # getting no_script_name to work # RewriteBase /
変更後。
RewriteEngine on RewriteBase / RewriteRule bar /bar/ [R,L] RewriteEngine On # uncomment the following line, if you are having trouble # getting no_script_name to work # RewriteBase / RewriteBase /bar
これで http://foo.co.jp/bar/ でも、 http://foo.co.jp/bar でも、symfonyプロジェクトにアクセスできるようになります。