0

好吧,我已经在 stackoverflow 上阅读了 htaccess 指南和问题的页面和更多页面,但我仍然没有找到这个问题的答案。

我希望将 URL www.domain.com/profile/1 重定向到 www.domain.com/profile.php?id=1,并将指向 www.domain.com/profile/ranisalt 的 sabe 重定向到 www。 domain.com/profile.php?seo=ranisalt

我正在使用这个重写规则,它在重定向方面一直很好:

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^profile/([0-9]+)/ profile.php?id=$1 [NC,QSA,L]
(there is more, but not relevant)

问题是,CSS 在文件夹 css/ 中,如果我通过 profile.php?id=1 直接访问它会正确加载(www.domain.com/css/style.css),但是当我访问掩码时,它尝试在 www.domain.com/profile/1/css/style.css 中查找 css,但未找到。

我一直在使用它作为临时修复

RewriteRule ^(.*)/(css|js)/(.*).(css|js)$ css/$3.$4 [L]
RewriteRule ^(.*)/img/(.*).(jpg|png)$ img/$2.$3 [L]

但它看起来并不整洁和漂亮:(

我怎样才能让它很好地正确加载 CSS?

4

1 回答 1

0

您的相对 URI 基础已更改,因此当浏览器加载类似 的 URL 时www.domain.com/profile/ranisalt,指向 css 等内容的相对链接将/profile/附加到 URI 的前面(因此转为www.domain.com/profile/css/some.css)。在由 生成的 HTML 中profile.php,您需要通过将此标记添加到页面标题来添加 URI 基:

<base href="/">
于 2013-01-22T05:48:58.430 回答