在htaccess修改url后访问CSS文件

时间:2014-01-14 00:27:35

标签: html css .htaccess web

我正在使用此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] 

网址重写效果非常好(例如,mypage / web-store /可以代替mypage / web-store.html使用)。

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

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

1 个答案:

答案 0 :(得分:0)

您需要将网址更改为绝对网址(添加领先/),或者您可以在网页标题中设置相对网址基础:

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

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

如果所有其他方法仍然失败,您可以尝试重写正确的页面:

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