所以我有两个站点在不同的域上,但共享很多相同的资源(样式表,图像,脚本)。可以将这些网站称为A.com
和B.com
。
在这两个站点的每个站点中,子目录中都有另一个站点。同样,他们都使用相同的资源。让我们调用其中每个网站A.com/sub
和B.com/sub
。
我尝试通过重定向来自A.com
,A.com/sub
和B.com
的任何图片,脚本或样式表请求,在所有网站中使用B.com/sub
的资源到A.com
http://A.com/sub/images/foo/bar.jpg => http://A.com/images/foo/bar.jpg
http://B.com/images/foo/bar.jpg => http://A.com/images/foo/bar.jpg
http://B.com/sub/images/foo/bar.jpg => http://A.com/images/foo/bar.jpg
A.com/sub
的工作原理是将所有图片,脚本或样式表请求重写为../
:
RewriteRule (.*)\.(gif|jpg|png|css|js)$ ../$1.$2 [R]
B.com
的工作方式大致相同,但不会重写为../
,而是会重写为A.com
:
RewriteRule (.*)\.(gif|jpg|png|css|js)$ http://A.com/$1.$2 [R]
但是,与我的期望相反,B.com/sub
使用相同的重写不起作用:
RewriteRule (.*)\.(gif|jpg|png|css|js)$ http://A.com/$1.$2 [R]
为什么这种重写模式在每种情况下都能很好地运作,但是B.com/sub
?
我必须为每个网站设置.htaccess,并且必须以这种方式设置网站(即A.com
和A.com/sub
)。不是我的决定,我不能改变它。