【问题标题】:how can i force URLs to be case sensitive如何强制 URL 区分大小写
【发布时间】:2012-10-01 17:19:54
【问题描述】:

假设我有域 mydomain.com,我想做的是强制浏览器在 URL 栏中显示 MyDomain.com。我有以下 htaccess:

# force all to MyDomain.com
RewriteCond %{HTTP_HOST} !^www.MyDomain
RewriteRule (.*) http://www.MyDomain.com/$1 [R=301,L]

但它不起作用。是否有任何技巧/黑客可以使浏览器显示不是全部小写的 URL?或者这是不可能的?

【问题讨论】:

  • 您需要起草一份新的 URI 规范并让其接受。因为在current URI specification中,它说host不区分大小写:“虽然主机不区分大小写,但生产者和规范者为了统一起见,注册名称和十六进制地址应使用小写字母,而仅使用大写字母用于百分比编码。”
  • 我不一定要问如何纯粹用 htaccess 来做。这只是我认为可以用来实现我想要的一种技术。我真正想要的是一种让用户在浏览器的 URL 栏中看到区分大小写的域的方法。

标签: apache .htaccess url


【解决方案1】:

不,域和子域总是小写的。 DNS 系统始终不区分大小写。

https://www.rfc-editor.org/rfc/rfc4343

【讨论】:

  • 好的,所以基本上通过 htaccess 实现这一点是不可能的。用 javascript 怎么样?是否有任何已知的技术可以完成我正在寻找的东西?本质上,我只关心用户看到它,不一定关心 DNS 幕后发生的事情。
  • 没有。浏览器将始终将域显示为小写。
猜你喜欢
  • 2011-09-09
  • 2012-12-10
  • 2011-10-14
  • 2012-05-25
  • 1970-01-01
  • 2012-06-03
  • 2016-06-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多