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

Php URL重写后缺少CSS文件和图像,php,css,url,mod-rewrite,url-rewriting,Php,Css,Url,Mod Rewrite,Url Rewriting,我正在尝试使用模式重写来创建用户友好的URL。 我的问题是,在给我的URL添加了“name”这样的类别之后,当我使用新的URL调用页面时,它无法加载CSS文件或图像 我有这样一个链接: localhost/mywebsite/project?id=22 新链接类似于 localhost/mywebsite/project/22/myproject.project 访问代码: RewriteRule ^project/([0-9]*)/.*\.project$ /project.php?proje

我正在尝试使用模式重写来创建用户友好的URL。 我的问题是,在给我的URL添加了“name”这样的类别之后,当我使用新的URL调用页面时,它无法加载CSS文件或图像

我有这样一个链接:

localhost/mywebsite/project?id=22

新链接类似于

localhost/mywebsite/project/22/myproject.project

访问代码:

RewriteRule ^project/([0-9]*)/.*\.project$ /project.php?project=$1 [L]
(可能不是100%正确,但我现在没有访问我的代码的权限,所以我只是写了这个,它在原始源代码上运行良好)

我的根目录是localhost/mywebsite/

我的CSS文件是CSS/style.CSS

localhost/mywebsite/css/style.css

我的htaccess

localhost/mywebsite/.htaccess

我的project.php文件位于

localhost/mywebsite/project.php

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

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

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

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

一种方法是按照类似问题的建议,使用域的相对路径 localhost/mywebsite/project.php 当我在本地运行脚本时,我的根目录是 本地主机 所以css链接应该是这样的

href=“mywebsite/css/style.css”

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

href=“/css/style.css”


这似乎需要大量工作

将图像插入到与css href链接具有相同相对路径的同一文件中,在浏览器中加载页面,在internet explorer中右键单击图像,单击“属性”,您应该可以看到相对路径实际指向的位置。

对于您的本地版本,请添加

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

到头部

对于您的实时版本,将其更改为

<base href="//your.domain.here" />


参考

您必须在connection.php中定义基本路径或服务器视图路径,并且无论何时需要该路径,都要将其设置为全局路径。然后调用该变量,css或图像将占据整个路径

比如说 $SVP=”http://www.example.com/"

全球$SVP; echo$SVP


所以

是的,但也有图片,我不能在去之后更改每一张图片的域名live@max,
base
标记也适用于图像。。例如,谢谢,这解决了我的头疼问题。显然,我应该在链接中包含我的网站,因为localhost被认为是我的根目录,/mywebsite/folder只是另一个目录,所以应该包含在链接中。我不能改变所有的链接,当我要生活!您无法更改所有链接,因此请保持所有路径的相对位置,但请使用正确的相对位置调整每个路径。注意:我的意思不是使用绝对路径,我的意思是检查绝对路径并调整相对路径,直到正确为止。您可以使用../进入文件夹。