为啥浏览器 URL 不能以 .com 结尾?

Posted

技术标签:

【中文标题】为啥浏览器 URL 不能以 .com 结尾?【英文标题】:Why browser URL cannot end with .com?为什么浏览器 URL 不能以 .com 结尾? 【发布时间】:2014-12-27 03:39:58 【问题描述】:

在我的文章站点中,一些用户决定使用他们的电子邮件地址而不是用户名 当我尝试使用 RouteData 重定向到一个页面并且 URL 以“.com”结尾时,问题就开始了,例如“example@gmail.com”是一个有效的用户名,所以他的个人页面将是

http://www.mysite/user/example@gmail.com

live example

如您所见,它被重定向到主页并且相对路径变得混乱,因此图像不显示

有人能告诉我为什么浏览器不喜欢以 .com 结尾的 url 中的 routedata 吗? 如果您尝试“.net”或“.org”,它会起作用,这就是“.com”的问题?

【问题讨论】:

【参考方案1】:

在 Windows 中,.com 扩展名用于表示一种可执行文件。您的问题被标记为 asp.net - 所以我假设您使用的是 IIS。 IIS 不管理包含可执行扩展名的虚拟目录名称,例如:.vbs.com.exe 等。

当虚拟目录名称以可执行扩展名(如 .com、.exe、.dll 或 .sh)结尾时,无法使用 Web 浏览器查看此虚拟目录中的文件。如需更多信息,请参阅here。

您的一个选择是简单地将. 替换为个人页面的下划线_。所以你上面的例子是:http://www.mysite/user/example@gmail_com

【讨论】:

以上是关于为啥浏览器 URL 不能以 .com 结尾?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我可以浏览microsoft.com 扔掉我的浏览器却不能telnet?

为啥request.setCharacterEncoding解决中文乱码只限于表单是post的情况,对get不管用?

ftp服务器只能以http://f方式从浏览器里进去,而不能以ftp://方式进去,为啥?

为啥在 Web 浏览器中工作的 url 没有在 UIImageview 中加载

为啥 tlstest.paypal.com 可以在浏览器中运行,但不能从我的 PHP 代码中运行(对 Paypal IPN 有用)?

ajax为啥不能导出文件