2011-07-13 22 views
0

我有这个网址:http://mysite.com/content/14和这一行htaccess文件:问题的/在htaccess文件规则和页面加载

RewriteRule ^content\/([^-]+)$ index.php?m=apple&id=$1 [L,NC,NS] 

它的工作原理确定,并显示正确的页面,但没有CSS和JS。 CSS & JS文件不加载。这是因为CSS文件的JS文件和hrefsrc不以/开头。他们太多了,我无法修复它们。

有没有办法用htaccess中的某些代码修复它而不需要更改其他文件?

回答

1

问题是客户端(您的浏览器)认为资源位于http://mysite.com/content/14,使相对URL解析为http://mysite.com/content/。但是,该文件来自http://mysite.com/

如果你不能改变的引用,你可以放在一个<base>标签(在HTML —有机会,你不能做,要么):

<base href="http://mysite.com/" /> 

这正好在<head>部分。

另外,为使CSS和JS(未经测试)重写:

RewriteRule ^content\/(js|css)\/(.+)$ $1/$2 [L]