php本地机器路径

php本地机器路径,php,path,local,slash,Php,Path,Local,Slash,我已下载了一个完整的网站,该网站将为客户端升级。 我注意到代码无法定位文件(css、js、图像等)。 路径的编码如下-开头带有正斜杠/。 从每个href、src或任何内容的开头删除那些/。 在本地机器上解决问题,但当然会在网上把事情搞砸 这在本地不起作用: href="/design/layout.css" 这将(删除第一个斜杠) 造成这种差异的原因是什么? 是否需要配置某种类型的系统变量,以使两台服务器以相同的方式处理路径?如果在相对URL的开头有一个/,则它被解析为域的web根目录的绝对路

我已下载了一个完整的网站,该网站将为客户端升级。
我注意到代码无法定位文件(css、js、图像等)。 路径的编码如下-开头带有正斜杠
/
。 从每个href、src或任何内容的开头删除那些
/

在本地机器上解决问题,但当然会在网上把事情搞砸

这在本地不起作用:

href="/design/layout.css"
这将(删除第一个斜杠)

造成这种差异的原因是什么?
是否需要配置某种类型的系统变量,以使两台服务器以相同的方式处理路径?

如果在相对URL的开头有一个
/
,则它被解析为域的web根目录的绝对路径

绝对路径示例(开头有/有):

在domain.com/test/other/path/test.html上的文件中
href=“/design/layout.css”
->浏览器在
domain.com/design/layout.css上搜索

在域/test.html上的文件中
href=“/design/layout.css”
->浏览器在
domain.com/design/layout.css上搜索

结论绝对路径
浏览器两次在同一位置搜索

示例相对路径(无/在开头):

在domain.com/test/other/path/test.html上的文件中
href=“design/layout.css”
->浏览器在
domain.com/test/other/path/design/layout.css上搜索

在域/test.html上的文件中
href=“design/layout.css”
->浏览器在
domain.com/design/layout.css上搜索

结论相对路径
浏览器在不同的地方搜索


解决方案

您可以在.htaccess或.conf文件中添加,这将强制服务器在请求第一条路径时输出第二条路径的内容。在您的例子中,Apache从新路径而不是/design/输出CSS文件

Apache别名示例

Alias /design /your/new/path/design

如果在相对URL的开头有一个
/
,那么它将解析为域的web根目录的绝对路径

绝对路径示例(开头有/有):

在domain.com/test/other/path/test.html上的文件中
href=“/design/layout.css”
->浏览器在
domain.com/design/layout.css上搜索

在域/test.html上的文件中
href=“/design/layout.css”
->浏览器在
domain.com/design/layout.css上搜索

结论绝对路径
浏览器两次在同一位置搜索

示例相对路径(无/在开头):

在domain.com/test/other/path/test.html上的文件中
href=“design/layout.css”
->浏览器在
domain.com/test/other/path/design/layout.css上搜索

在域/test.html上的文件中
href=“design/layout.css”
->浏览器在
domain.com/design/layout.css上搜索

结论相对路径
浏览器在不同的地方搜索


解决方案

您可以在.htaccess或.conf文件中添加,这将强制服务器在请求第一条路径时输出第二条路径的内容。在您的例子中,Apache从新路径而不是/design/输出CSS文件

Apache别名示例

Alias /design /your/new/path/design