我注意到,当我们请求一个静态资源,即是这样的: GET /MYAPP/css/navbar.css阿帕奇重写导致两个请求
它出现在Apache日志为两条线:
[20 /月/ 2015:11:39:07 -0400] 10.72.123.1的TLSv1 AES256-SHA “GET /MYAPP/css/navbar.css HTTP/1.1” 302 224 0/159
[20/Jul/2015:11:39:07 -0400] 10.72.123.1 TLSv1 AES256-SHA“GET /css/navbar.css HTTP/1.1”200 2846 0/364
这是事做在configs设立了当前重写规则:
RewriteRule ^/MYAPP/css/(.*)$ https://%{SERVER_NAME}/css/$1
...
<Directory "/var/www/myapp-static">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
我是不是正确的,什么东西是错在这里?每个对静态文件的请求都会导致两个调用,而不是一个,它会以任何方式减少apache的整体性能?处理这个问题的最佳做法是什么? 作为解决方案之一,我们可以直接使用静态资源链接作为/css/navbar.css,而不是通过/MYAPP/css/navbar.css。但是如果它运行时没有使用apache,这会使应用程序失败(因为我们确实有一些环境中没有apache)。 什么是最好的和典型的解决方案在这里?
%{SERVER_NAME}的值是否与主机名不同? – Zimmi
@Zimmi我不知道说实话..我如何检查SERVER_NAME的值?它是否与中定义的属性ServerName有关? –
javagirl
@Zimmi其实一定是! VirtualHost中的ServerName被定义为负载平衡的域名,而主机可以不同。所以他们应该是相同的? – javagirl