CSS,图片和JS不加载由于URL重写(CSS, Images, and JS not loadin

2019-09-28 17:37发布

我在使用CSS和加载我的网址在/结束时刻的图像的麻烦。 我工作过我的本地和网址的形式改写:

localhost/mysite/public/user/testuser/books/1234

与请求加载testuser的用户个人页面,更改页面国家把重点放在一本书id为1234。

一切工作正常使用本地主机/ mysite的/公/用户,但是我介绍一个/或/ testuser的到URL的瞬间CSS,JS和图像突破。 我有网址到位重写和读取一个数字,说明它是一个重写的.htaccess问题职位。 这里是我的网站的结构:

mysite/
    app/
        controllers/
        models/
        etc...
    public/
        css/
            styles.css
        images/
            profilepic.png
        js/
    index.php

例如::../public/css/styles.css所有图片,JS和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]

不幸的是这些选择都不工作,我不知道还有什么地方我要看看。 有任何想法吗?

Answer 1:

如果你不想改变每一个实例,当你移动你的网站,只是更新<head> HTML页面标题的部分,并添加此

<base href="http://www.example.com/" />

要么

<base href="/" />

这会照顾这个问题的,你不必更新所有实例的绝对路径。



文章来源: CSS, Images, and JS not loading due to url rewrite