php - 带有大写和小写符号的 .htaccess 和 href 链接

标签 php html .htaccess url-rewriting hyperlink

我正在编写一个使用小写和大写字符的网址缩短器。

我编写了一个中间脚本来帮助我进行分析。这是在 .htaccess 中:

RewriteCond %{HTTP_HOST}   q.(.{5})\.example.com
RewriteRule (.*)  http://www.example.com/this/r/%1

(网址当然改变了)

但不知何故,如果用户导航到 q.Fbbbc.example.com,他最终会到达 http://www.example.com/this/fbbbc (小写F)

知道如何解决这个问题吗?我的一些客户已经遇到了问题,我不认为这条规则会转换为小写..

作为一个相关问题:在前端我使用基本的 <a href="http://q.Fbbbc.dim.io">click</a>让用户测试该功能,但在 Google Chrome 中,将鼠标悬停在此链接上会显示小写 URL。 chrome 中的代码确实显示了一个大写的 F...有什么想法吗?

最佳答案

您可能想阅读RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax 。具体Section 3.2.2. - Host 。您将遇到以下语句:主机子组件不区分大小写。

简而言之:'AA.ExAmPlE.Org' === 'aa.example.org'。小写是规定的标准化形式。如果大写主机名到达您的脚本,则(至少)取决于 (a) 浏览器、(b) 中间代理、(c) http 服务器。至少有两个组件是你完全无法控制的。

如果您想区分大小写,则必须将 slug (Fbbbc) 移动到路径名:http://q.example.org/Fbbbc .

关于php - 带有大写和小写符号的 .htaccess 和 href 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9513305/

相关文章:

php - 获取所选列的数据或内容

javascript - json_encode 仅适用于某些 php 数组,不导入其他数组的数据

php - 将 mysql 时间戳格式化为有意义的内容

html - CSS 最小高度无法正常工作

apache - JKMount 没有获取 .htaccess

php - 使用 PDO::bindValue(带或不带类型标识符)与执行之间有什么区别吗?

html - Font Awesome 5,为什么 Instagram 图标不见了?

javascript - HTML5/JavaScript 中的用户注释叠加

php - 我如何使用 php 跟踪热链接器的 ip 地址

php - .htaccess 文件在 LAMP 中不起作用