背景
我正在建立一个网站。文件如下:
/index.php
/pic.jpg
/dir/index.php
/dir/pic.jpg
dir/index.php
我们知道,人们可以使用不同的 URL访问我的网站页面:
1. site.com/dir
2. site.com/dir/
3. site.com/dir/index.php
我有一个链接/dir/index.php
<a target="_blank" href="pic.jpg">
我想相对链接到/dir/pic.jpg
问题
---------------------/-------------------------------
index.php
pic.jpg
^
|
------|-----/dir/------------------------
| | |
| | 1 |
| | |
| | 2 or 3 |
| index.php ---------> pic.jpg |
-----------------------------------------
-----------------------------------------------------
href="pic.jpg"
当人们通过不同的 URL 访问网站时,会将人们引导到不同的地方。
使用 URL 1 的人会得到/pic.jpg
,而使用 URL 2 或 3 的人会得到/dir/pic.jpg
同样的问题不只存在于<a>
其他 HTML 标签中。
我怎样才能编写一个相对 URL 来/dir/index.php
链接到/dir/pic.jpg
访问者使用的任何 URL?
我需要保持文件夹dir
的可移植性(我可能会更改dir
名称,或dir
在另一个网站上使用文件夹,因此它可能有不同的路径)。我们需要除硬编码之外的解决方案href="/dir/pic.jpg"
。
答案1
问题在于您不知何故没有在第一个 URL 中添加尾部斜杠。如果此目录确实存在于您的服务器上,那么您必须故意错误配置 Web 服务器才能执行此操作。您应该撤消该配置,以便服务器将第一个示例重定向到第二个示例(默认)。