【问题标题】:Access CSS file after htaccess modified urlhtaccess修改url后访问CSS文件
【发布时间】:2014-02-01 22:49:06
【问题描述】:

我正在使用这个 htaccess 文件来重写我的网址:

RewriteEngine On

# Friend SEO url
#RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /([^\ ]+)\.php
#RewriteRule ^ /%2/ [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/(.*?)/?$
RewriteCond %{DOCUMENT_ROOT}/%1.php -f
RewriteRule ^ /%1.php [L] 

url 重写工作得非常好(例如,可以使用 mypage/web-store/ 代替 mypage/web-store.html)。

然而,问题是我重写的 url 无法正确检索 CSS 文件。但是,如果我使用普通 url,我完全没有问题,因为 CSS 文件位于 mypage 的子文件夹中。但是通过 url 重写,它会在文件夹 /web-store/ 中查找 css 文件,该文件不存在...

有谁知道解决这个问题的方法吗?

【问题讨论】:

  • 听起来您正在使用样式表的相对 url。如果您使用绝对网址,则不会有问题。

标签: html css .htaccess web


【解决方案1】:

您需要将 URL 更改为绝对 URL(添加前导 /),或者您可以在页面标题中设置相对 URL 基础:

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

其中“example.com”是您网站的域名,/mypage/ 是 css 所在的位置。

如果一切仍然失败,您可以尝试重写正确的页面:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ([^/]+\.css)$ /path/to/styles/$1 [L,R=301]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-14
    • 2012-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多