Stackoverflow上有很多关于此的信息,但似乎没有什么对我有用!我已经在.htaccess文件中重写了一些URL并且它正在工作,但后来我发现CSS和图像丢失了。我阅读并阅读了如何改变从相对到绝对的路径,但我不支持这有帮助,或者我可能做错了!?
.htaccess文件:
RewriteRule ^bilder-byggnader-kopenhamn$ /?p=byggnader [L]
RewriteRule ^bilder$ /?p=byggnader [L]
RewriteRule ^byggnad/(.+)$ /?p=byggnad&id=$1 [L]
它只是.htaccess文件中导致此问题的第三行。第一行和第二行不会影响CSS和图像。
从一开始我的CSS文件就像这个styelsheet.css
一样,因为它位于根目录中。然后我将其更改为http://127.0.0.1/stylesheet.css
,但它仍然无法正常工作。我还没有用图片完成这个,但我想我应该像http://127.0.0.1/images/image.jpg
一样。
答案 0 :(得分:0)
您应该考虑添加:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
所以重写规则不适用于现有文件和目录(例如图像和样式表)
答案 1 :(得分:0)
首先修改你的规则:
RewriteEngine On
RewriteRule ^bilder-byggnader-kopenhamn$ /?p=byggnader [L,QSA]
RewriteRule ^bilder$ /?p=byggnader [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^byggnad/(.+)$ /?p=byggnad&id=$1 [L,QSA]
然后确保在css,js,images文件中使用绝对路径而不是相对路径。这意味着您必须确保这些文件的路径以http://
或斜杠/
开头。