我正在使用此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文件,该文件不存在...
有人知道解决这个问题的方法吗?
答案 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]