背景
根据我的经验,当我的 ubuntu 工作站配置在具有活动目录的域上时,为我创建的用户名是根据以下模式。
域名\用户名
在 linux 上使用 apache的userdir扩展需要在 URL 中使用用户名才能访问主目录中的 public_html。
问题一:
Chrome 将 URL 中的所有反斜杠 ' \ ' 字符转换为正斜杠 ' / ' 并且生成的 url 变得完全不同,并且总是导致Not Found。
另一方面,Firefox不会将反斜杠转换为正斜杠,因此对预期目标的 http 请求由 Web 服务器提供。
Common solution is to encode back slash in %5C.
问题 B:
如果我们在 CSS @import 构造中使用类似的路径(路径中包含\),则作为 HTTP Get 请求的 css 文件的导入过程将失败并报告 404 错误,并且在 404 错误中报告的 URL 完全错过了\的存在。这意味着在调用 GET 请求之前从 URL 中删除了\ 。
这种行为在 Firefox 和 Chrome 中很常见。但他们有不常见的解决方案
Firefox 需要转义反斜杠才能在 css 导入过程中工作。
@import url(" http://localhost/~domain_name\\user_name/path/to/css ");
Chrome 像往常一样需要编码的反斜杠解决方案。
@import url(" http://localhost/~domain_name%5Cuser_name/path/to/css ");
- 处理URL中的\的统一解决方案是什么?
- 有没有办法避免\出现在用户名中?