私はフレームワークを試すことができるように、私はSymfony2を使って古いプロジェクトを書き直しています。私は次の形式のURLを持っています:Symfony2でクエリ文字列を使用してURLをルーティングするにはどうすればよいですか?
/profile/{id}
symfony2はそれをします。しかし、同じページが最初にやっによって発見されました:
/profile.php?id=12345
をだから、誰かが古いURLを有する場合には、私はこれらのリンクをリダイレクトしたいと思います。問題は、私はこの性質のルートを捉える方法を知らないということです。私は試しました
/profile.php?id={id}
しかし、それは動作していないようです。どうすればこのルートを設定できますか?
フォローアップ:(私は将来のバグを恐れ、それは私に非直観的であるため)は私がやる「キャッチオール」にしたくない、と私は同じのためにhtaccessを介して、それをしない希望理由。私は最良の選択肢は "/ profile.php"をコントローラに照合して、 "id"がquery-stringに存在することを確認し、それに応じてリダイレクトすることです。そうでない場合は、私は404
正しいmod_rewriteは次のようになりますか?RewriteRule^profile.php?id =(\ d +)$/profile/$ 1 [R = 301] '? –
私はApache htaccess shenanigans –
の専門家ではないので、これが最善の戦略であることを確認したいだけです。ここで書き直しをテストすることができます:http://martinmelin.se/rewrite-rule-tester/。私はSFでそれを処理することを好みますが。ルートは現在、モデル/ロジックの一部です。 – Raffael