我试图使用户友好的URL使用模式重写。我的问题是,在给我的URL提供"名称"等类别后,当我使用新URL调用页面时,它无法加载CSS文件或图像。
我有一个链接:
localhost/mywebsite/项目?id = 22
新链接类似于
localhost/mywebsite/项目/22/myproject.project
htaccess代码:
RewriteRule ^project/([0-9]*)/.*'.project$ /project.php?project=$1 [L]
(它可能不是100%正确,但我现在无法访问我的代码,所以我只是写了这个,它在原始源代码上运行良好)
我的根目录是localhost/mywebsite/
我的CSS文件在CSS/style.css
我htaccesslocalhost/mywebsite/css/style.css
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"
这似乎有很多工作
对于本地版本添加
<base href="//localhost/mywebsite" />
到头部部分
,对于您的实时版本,将其更改为
<base href="//your.domain.here" />
参考http://www.w3.org/TR/html4/struct/links.html#h-12.4
你必须在connection.php中定义基本路径或服务器视图路径当你想要那个路径时,把它设为全局。然后,这个变量将被调用,CSS或图像将占用整个路径。
例如高级副总裁美元= " http://www.example.com/"
全球高级副总裁美元;echo $高级;
将图像插入到与css href链接具有相同相对路径的同一文件中,在浏览器中加载该页面,在ie中右键单击图像,单击属性,您应该可以看到相对路径实际指向的位置。