所以我有两个位于不同域的站点,但共享许多相同的资源(样式表、图像、脚本)。让我们称这些站点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
)。这不是我的决定,我无法改变。