-2

假设我的浏览器位置栏中有一个 URL,内容如下:

http://www.example.com/us/books

...我如何编码页面中的 url 以便它添加到地址栏中的地址?

例子

位置栏中的网址:http://www.example.com/us/books

页面上的网址:<a href="./this-title">Read more</a>

期望的

http://www.example.com/us/books/this-title

无论我做什么,它都不会出现在整个 URL 之后。网址不固定。

4

1 回答 1

1

这种在引用中使用相对路径的方法确实有效。但是你必须弄清楚一些细节,这取决于你当地的情况。

在您的情况下,最有可能调用的目标网址是http://www.example.com/us/this-title(您没有告诉我们......)。这是由于浏览器(而不是服务器!)如何解释其在服务器文档层次结构中的当前位置。

如果您的基本网址读取http://www.example.com/us/books/(注意尾随的“/”),那么事情将按您的预期工作!您甚至可以将相对路径记为<a href="this-title">Read more</a>. 这是因为浏览器将当前位置识别为文件夹并假定相对路径位于其中。例如,当保存该引用的 html 页面由服务器上的索引文档(index.html、index.php 或类似文件)提供时,此方法有效。这是尾部斜杠有意义的时候,因为它表示当前 url 检索的是文件夹的内容,而不是目录。

当然,这只是客户端发生的事情。可能是服务器决定重写 url 并再次重定向浏览器。例如,通过在 http 服务器中使用重写规则。这通常用于处理对非现有文档的请求。

于 2013-11-09T07:32:40.440 回答