2 つの URL があるとします。
と
https://foo.com/homepage.html?ref=topnav&bar=1
2 つの URL が http/https を除外して引数を除外して同じであるかどうかを確認するために使用できる簡単な方法 (または簡単な外部ライブラリ) はありますか?
たとえば、上記の 2 つの URL は同等です。
2 つの URL があるとします。
と
https://foo.com/homepage.html?ref=topnav&bar=1
2 つの URL が http/https を除外して引数を除外して同じであるかどうかを確認するために使用できる簡単な方法 (または簡単な外部ライブラリ) はありますか?
たとえば、上記の 2 つの URL は同等です。
URIを使用してパスを比較できます。
require 'uri'
uri = URI("https://foo.com/homepage.html/ref=topnav?bar=1")
#=> #<URI::HTTP:0x00000000b14880
https://foo.com/homepage.html/ref=topnav?bar=1>
uri.path
#=> "/homepage.html"
uri.host
#=> "foo.com"
URI
URI をさまざまな方法で分解する方法は他にもあります。したがって、必要な数の方法に基づいて比較するメソッドを作成できます。