我正在尝试使用模式重写使用户友好的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”
这似乎是很多工作
对于本地版本,请添加
<base href="//localhost/mywebsite" />
到头部
并为您的实时版本将其更改为
<base href="//your.domain.here" />