列に URL を含むデータベース テーブルがあります。ユーザーが表示しているページに応じて特定のデータを表示したいのですが、直接一致しない場合はデフォルトで「親」ページになります。値が送信された URL の一部である列を見つけるにはどうすればよいですか?
例えば。www.example.com/foo/bar/baz/here.html があります。(列値の長さでソートした後):
- www.example.com/foo/bar/baz/here.html
- www.example.com/foo/bar/baz
- www.example.com/foo/bar
- www.example.com/foo
- www.example.com
もちろん、これらすべての URL がテーブルにある場合。
組み込み関数はありますか、それともプロシージャを作成する必要がありますか? グーグルは、私が必要としているものではない、LIKE と REGEXP を取得し続けました。URL を切り刻んで複数のクエリを作成するよりも、単一のクエリの方がはるかに効率的であると考えました (URL には多くのパス コンポーネントが含まれる可能性があります)。