我的css和图片在我的网址以/结尾的那一刻加载有问题。我正在处理我的本地主机,并且以下列形式重写了网址:
localhost/mysite/public/user/testuser/books/1234
请求加载testuser的用户个人资料页面并更改页面状态以关注ID为1234的图书。
使用localhost / mysite / public / user一切正常,但是当我将一个/或/ testuser引入到CSS,JS和Images的url中时。我确实有url重写到位,并阅读了一些帖子,说明了.htaccess重写问题。这是我网站的结构:
mysite/
app/
controllers/
models/
etc...
public/
css/
styles.css
images/
profilepic.png
js/
index.php
所有图片,js和css都是通过相对路径引用的:ex:../ public / css / styles.css。
.htaccess的内容是:
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
我阅读了各种解决方案,包括将所有路径更改为绝对路径或将其更改为/css/styles.css。绝对当然有效,但是当我将网站移动到其实际域时,我不需要改变每个实例。
还有一条关于从重写中删除css,jpeg等文件的说明:
RewriteCond %{REQUEST_URI} !^.*\.(css|jpe?g|gif|png|js|ico)$ [NC]
不幸的是,这些选项都不起作用,我不确定我应该在哪里看。有什么想法吗?
答案 0 :(得分:3)
如果您不想在移动网站时更改每个实例,只需更新html网页标题的<head>
部分并添加此
<base href="http://www.example.com/" />
或
<base href="/" />
这将解决该问题,您不必将所有实例更新为绝对路径。