Url 将相对链接转换为绝对链接?
我正在用PHP和正则表达式编写一个小脚本 此脚本的目的是提取页面中的所有链接,并将这些链接转换为绝对链接(如果是相对链接)- 我想,相对链接是如何工作的,但它们也有一些问题 假设我们有这个页面 如果此页面有以下链接 index.html---绝对链接将为 ./index.html--绝对链接将为 ../index.html---绝对链接将为 /index.html---绝对链接将为 所以 index.html=将在当前目录中打开 ./index.html=也将在当前目录中打开 ../index.html=将在父目录中打开 /index.html=将在根目录中打开 问题是,如果URL是搜索引擎友好的,该怎么办 假设我们有这个URL ((案例1)): 或 ((案例2)): 案例1中的“索引”是目录还是页面?案例2中的“索引”是目录还是页面? 以及以下链接在案例1和案例2中作为绝对链接的外观 index.html-- ./index.html-- ../index.html---- /index.html-- 我不确定这对你们中的一些人来说是否是一个简单的问题,但对我来说这是一个令人困惑的问题 谢谢:)直接回答您的例子 在案例1中,Url 将相对链接转换为绝对链接?,url,relative-path,hyperlink,Url,Relative Path,Hyperlink,我正在用PHP和正则表达式编写一个小脚本 此脚本的目的是提取页面中的所有链接,并将这些链接转换为绝对链接(如果是相对链接)- 我想,相对链接是如何工作的,但它们也有一些问题 假设我们有这个页面 如果此页面有以下链接 index.html---绝对链接将为 ./index.html--绝对链接将为 ../index.html---绝对链接将为 /index.html---绝对链接将为 所以 index.html=将在当前目录中打开 ./index.html=也将在当前目录中打开 ../index.
索引
是URL的“目录组件”,而在案例2中,索引
是URL的“文件组件”。这与它实际上是web服务器上的常规文件还是目录无关——请参见下面的说明。如果服务器在这些URL上提供HTML页面,我将两者都称为“页面”
案例1:(来自
的链接)
index.html
->
/index.html
->
。/index.html
->
/index.html
->
的链接)
index.html
->
/index.html
->
。/index.html
->
/index.html
->
可能与“目录URL”
等效,但相对链接可能指向这两个URL的不同路径,一个可能工作,另一个可能断开
因此,当链接到目录时,建议始终使用“目录URL”(带终止斜杠),而不是等效的“文件URL”-例如链接到
,而不是
,即使两者都服务于同一页面。事实上,许多web服务器配置为使用HTTP 301重定向响应将请求后者的客户端重定向到前者。如果您在浏览器的URL栏中输入后者,您可以看到这一点-一旦收到响应,URL栏将变为前者。谢谢,Brilliant,非常感谢Tom,您已经为我清除了一切,我祝您一切顺利,现在我可以完成我的项目:)