PHP を使用して、次のような不正な URL を自動的に修正するにはどうすればよいですか。
/db/?param1=sas23456sdfd¶m2=1368115104¶ma3=more/resource
or...
/db?param1=sas23456sdfd¶m2=1368115104¶ma3=more/resource
次のように適切な順序に並べ替えますか?:
/db/resource/?param1=sas23456sdfd¶m2=1368115104¶ma3=more
or...
/db/resource?param1=sas23456sdfd¶m2=1368115104¶ma3=more
質問する前に、不正な URL の原因は完全に私の手に負えません。元のクエリ文字列パラメーターの後に末尾のスラッシュとエンドポイントを愚かにも追加することを主張するクライアント ライブラリが原因です。幸いなことに、私は PHP リバース プロキシ スクリプトを介してリクエストをやり取りしているので、修正できる可能性があります。ご注意ください:
- クエリ文字列が存在する場合と存在しない場合があります
- クエリ文字列が適切に配置される場合があります
- クエリ文字列パラメーターの名前と値は異なります
- クエリ文字列パラメーターの数は変更される可能性があります
- クエリ文字列は常に「/」に続くとは限りません (db/?param=val または db?param=val)
- 不正な URL には常に「?param(s)=value/」パターンが含まれます。
PHPでこの混乱を修正する方法についてのアイデアはありますか?