【发布时间】:2019-07-12 18:29:26
【问题描述】:
我的目标是转换以下任何一种:
- https://www.google.com
- www.google.com
- google.com
到:
- www.google.com
我做了以下事情:
def parse_url(url)
uri = URI.parse(url)
return uri.host if uri.scheme
return uri.to_s if uri.to_s[0, 4] == 'www.'
"www.#{url}"
end
但我觉得可能有一些更标准的东西我可以使用,因为它看起来不那么优雅。
【问题讨论】:
-
请注意,并非所有网站都能感知 www。
-
我建议在代码执行您想要的操作后担心优化。
parse_url('http://google.com') # => "google.com" -
www.实际上是一个子域 - 它不是协议的一部分。尽管将http://example.com重定向到http://www.example.com是一种非常普遍的做法,反之亦然,但仍有许多服务器不这样做,并且此代码会中断。您应该更多地担心这是否真的是一个好主意,而不是优化。