2014-10-12 79 views
1

好的,所以在这里! 我有两个虚拟主机,名为main.aaa.com和static.aaa.com。htaccess不会从另一个虚拟主机加载新的js/css

我在main.aaa.com中有一个htaccess规则,对于包含js | css | img | ico的每个路径都会从static.aaa.com加载它们。

这是main.aaa.com htaccess的:

Options +Indexes 
Options -MultiViews 
Options +FollowSymLinks 


# Turn on the RewriteEngine 
RewriteBase/
RewriteEngine On 

# 
# Rules 
# 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule !\.(css|js|ico|img)$ index.html [PT,L] 

RewriteRule ^(.+\.(css|js|img|ico))$ http://static.aaa.com/$1 [L] 

发生了什么事是,一切都完美的作品,绝对完美的,但是...... 如果我创建静态/ JS文件夹中的新文件并尝试在main.aaa.com索引文件中加载它,它只是给出了一个200 OK,文件没有更改,并且通过查看它似乎htaccess甚至不费心寻找静态虚拟主机中的文件。

我已将文件权限更改为755,所有文件具有相同的权限和相同的所有者,只是我创建的新文件未加载。

任何帮助将不胜感激!谢谢!

[编辑]:我也试着重命名一个现在正确加载的文件,因为我以为我错过了一些关于文件权限的文件。停止工作。将其重命名为以前的名称并加载。所以,我在想,有没有文件的历史或我可以清楚的东西?我打破了一切,任何事情! 使用ubuntu 14.04 LTS和apache 2.4(如果有帮助)。

回答

0

我找到了解决我的问题的方法,我不明白它为什么起作用,我只是希望它不会在将文件推送到我的主机时引入任何其他问题。 所以这里,如果有人是和我一样愚蠢的:),我已经改变了,搬到这条线:

RewriteRule ^(.+\.(css|js|img|ico))$ http://static.aaa.com/$1 [L] 

这条线之上

RewriteRule !\.(css|js|ico|img)$ index.html [PT,L] 

最后的结果是这样:

RewriteRule ^(.+\.(css|js|img|ico))$ http://static.aaa.com/$1 [R,L] 

RewriteRule !\.(css|js|ico|img)$ index.html [PT,L] 

祝你好运!

编辑:也许答案是重定向,与R标志,必须先写。也许。

相关问题