-1

我的网站上有一个重写规则。它转换此链接:

http://www.qblza.com.br/anuncio_detalhes.php?ida=232&title=samsung-duos-camera-2-mp-redes-sociais-2-chips-bluetooth.html

进入这个:

http://www.qblza.com.br/232/samsung-duos-camera-2-mp-redes-sociais-2-chips-bluetooth.html

这是我正在使用的重写规则:

RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)\.html$ /anuncio_detalhes.php?ida=$1&title=$2 [L]

问题是当用户点击重写 url 时,该站点不会加载任何 CSS 和图像......它只是加载文本......我不知道为什么会这样。

任何帮助,将不胜感激!

4

3 回答 3

2

在您的样式表、图像上,如果您有 javascript 源。在位置前输入“/”。

图片:

<img src="/file/to/path/image.jpg" />

样式表:

<link ref="stylesheet" href="/file/to/path/style.css" />

Javascript:

<script src="/file/to/path/javascript.js" />
于 2012-08-07T14:15:57.847 回答
1

问题是您正在为静态资源使用相对路径。因此,当加载重写 URL 时,浏览器会在头部看到:

<link id="menu-color" type="text/css" rel="stylesheet" href="css/menu-gray.css">

并尝试加载

http://www.qblza.com.br/232/samsung-duos-camera-2-mp-redes-sociais-2-chips-bluetooth.html/css/menu-gray.css

解决方案 1:使用绝对路径加载静态资源:

<link rel="stylesheet" type="text/css" href="/css/menu-gray.css" />

所以你的浏览器肯定会遵循 domain-root 的路径

解决方案 2:使用 base-tag

<base href="http://your-domain.com" />

有了这个,你告诉浏览器在跟随路径时使用哪个根目录(还有图像等)

于 2012-08-07T14:20:37.113 回答
0

如果没有看到 html,我会说最可能的问题是图像和 css 的 url。当您像您一样重写您的网址时,您需要使用绝对网址(相对于站点根目录)。

于 2012-08-07T14:16:43.443 回答