一尘不染

URL重写后缺少CSS文件和图像

css

我正在尝试使用模式重写使用户友好的URL。我的问题是,在给URL提供“名称”之类的类别后,当我使用新的URL调用页面时,它无法加载CSS文件或图像。

我有一个类似的链接:

本地主机/ mywebsite /项目?id = 22

新链接就像

本地主机/ mywebsite /项目/22/myproject.project

htaccess代码:

RewriteRule ^project/([0-9]*)/.*\.project$ /project.php?project=$1 [L]

(这可能不是100%正确,但我现在无法访问我的代码,所以我只是写了此代码,并且在原始源代码上工作正常)

我的根目录是localhost / mywebsite /

而我的CSS文件在css / style.css中

本地主机/mywebsite/css/style.css

我的htaccess

本地主机/mywebsite/.htaccess

我的project.php文件在

本地主机/mywebsite/project.php

因此,在项目页面中,我可以使用相对路径访问CSS文件,

<link href="css/style.css" rel="stylesheet" type="text/css" />

但是当我使用重写的URL页面时找不到CSS文件。

我还没有域名,所以不能使用绝对路径!它可以是任何东西。

一种方法是按照类似问题localhost / mywebsite /
project.php上的建议使用相对于域的路径,当我在本地运行脚本时,我的根目录是localhost,因此CSS链接应类似于

href =“ mywebsite / css / style.css”

但是当我上线时,我应该将所有链接更改为类似

href =“ / css / style.css”

这似乎是很多工作


阅读 238

收藏
2020-05-16

共1个答案

一尘不染

对于本地版本,请添加

<base href="//localhost/mywebsite" />

到头部

并为您的实时版本将其更改为

<base href="//your.domain.here" />
2020-05-16