1.Have you been to 是问你去过XX没有
具体指被问人在你面前 也许从前去过 但是已经回来了
比如:Have you been to China?你曾经去过中国吗?
2.Have you gone to 是问你去XX了没有
具体指被问人已经离开 可能在去的路上 可能在目的地 也可能在回来的路上 总之是去了 已经离开了 但是还没有回来就是了
比如:a.Where are you ?Have you gone to England?你在哪?已经去英国了吗?(问是不是已经离开出发地,也许在去的路上,也许再回来的路上,总之还没回来)
b.Has Mr.Xu gone to ShangHai?徐先生已经(离开)去上海了吗?
been to是去过回来了,不存在have you gone to ,因为gone是正在去的途中,只能说sb has gone to
前者表状态 后者表动作
个人认为没什么区别
gone去了还没有回来。
been去了又回来了。