CSS不适用于带有“/";在里面


CSS not applying to page with "/" in it

简介:

这可能很傻,但我是网络技术的新手,目前我无法解决这个问题。所以,我正在建立一个网上商店,其中有多个商店。主页上每个商店都有一个按钮。点击该按钮,用户将被重定向到商店详细信息页面。该页面的URL如下:www.store.com/shop_details.php/XX,其中XX是MySQL数据库中该商店的ID。我已经完成了shop_tails.php的前端,如果URL没有"/XX",则应用CSS。

问题:

当URL有必要的扩展时,CSS不会应用于网页。

短版本

www.website.com/shop_details.php-CSS WORKS

www.website.com/shop_details.php/XX-CSS DOESNT WORK

问题

这个问题的原因是什么?如何让CSS在此页面上工作?

就浏览器而言,/会分离目录——它不知道服务器会将脚本名称后的/作为参数。如果您在页面中有CSS或JS文件的相对路径,它们将相对于URL中的完整目录路径进行解释。因此,如果CSS文件与脚本位于同一目录中,则如果URL为shop_details.php,则需要使用href="style.css";如果URL为shop_details.php/XX,则使用../style.css;如果URL是shop_details.php/XX/YY,则使用../../style.css

一种解决方案是使用CSS的绝对路径href="/style.css"。另一种是使用base标签告诉浏览器如何解释页面其余部分的相对路径:

<base href="/shop_details.php">