1

我正在使用代码点火器。

我的产品页面显示了我们拥有的所有产品,然后用户可以单击每个产品名称以获取有关该特定产品的更多详细信息。因此,我已将产品声明为类,并将 product_name 声明为产品类中的一个函数——这样我就可以获得网址 www.company.com/products/product_name。

当我访问www.company.com/products时,一切都很好,但是如果我添加一个斜杠,它看起来像www.company.com/products/我的窗口在徽标下方,并且菜单在其上方移动,隐藏了徽标和菜单。当我访问www.company.com/products/product_name时也会发生同样的情况。

当我添加斜杠或转到 product_name 页面时,如何确保下面的窗口不会隐藏。

任何帮助,将不胜感激。

4

1 回答 1

2

问题是您为图像指定了相对路径。您需要使它们成为绝对的,或者至少相对于当前位置。也就是说,如果您将图像路径更改为:

<img src="images/obsia.png">

<img src="/images/obsia.png">
or
<img src="http://www.obsia.com/images/obsia.png">

你的问题将得到解决。

发生这种情况的原因是图像的路径由基本 URL 确定。当您位于http://www.obsia.comhttp://www.obsia.com/products时,您的基本 URL 是http://www.obsia.com

然后浏览器images/obsia.png呈现为http://www.obsia.com/image/obsia.png,您的服务器将其解释为wwwroot/images/obsia.png 并且相关链接有效。

但是,如果您这样做,http://www.obsia.com/products/您的基本 url 是http://www.obsia.com/products并且您的图像的相对路径会从 更改http://www.obsia.com/images/obsia.pnghttp://www.obsia.com/products/images/obsia.png。您的服务器将此解释为 ,您的服务器将其解释为wwwroot/images/products/obsia.png,这不是有效路径。服务器返回 404 -- 导致图像损坏。

如果您使用 Firebug 的 .Net 面板,您可以看到这一点。对您的徽标的请求返回:

GET obsia.png
http://www.obsia.com/products/images/obsia.png

404 Not Found

obsia.com

539 B
于 2010-03-05T15:29:12.950 回答