我设置Cloudfront为www.lottoresults.ie提供静态图像,js和css文件.我使用了自定义源服务器.
我设置的云端域名是icdn.lottoresults.ie.我使用Bind9 dns设置了这个,icdn.lottoresults.ie是一个用于cloudfront发行版的CNAME.
那一切都很好.
但是,对于网站性能优化(Yslow,google pagespeed等),我想要设置Cache-control和Expires标头,我不想要Etags.
为此,我在www.tottoresults.ie的doc_root的htaccess文件中有以下内容:
Header unset Pragma
FileETag none
Header unset ETag
<FilesMatch "(.*)\.(ico|jpg|jpeg|png|gif|js|css|swf)$">
ExpiresActive on
ExpiresDefault "access plus 1 year"
Header set Cache-Control "max-age=1864000, public"
Header unset Last-Modified
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
问题是,对于来自cloudfront发行版(icdn)的资产,我没有Cache-control或Expires标头,但我确实有Etags - 但对于www我确实有Cache-control和Expires标头,没有Etags.
当我从我的cloudfront域查询资产时,我没有Cache-control或Expires标头,但我确实有Etags.
curl -I -L http://icdn.lottoresults.ie/images/green-header.jpg
HTTP/1.0 200 OK
Date: Sun, 01 Apr 2012 22:58:30 GMT
Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny13 with Suhosin-Patch
Last-Modified: Mon, 08 Aug 2011 20:23:00 GMT
**ETag**: "28a213-19b-4aa0436a1b100"
Accept-Ranges: bytes
Content-Length: 411
Content-Type: image/jpeg
Age: 22137
X-Cache: Hit from cloudfront …Run Code Online (Sandbox Code Playgroud) 我有一个基于Maven的Java应用程序,并希望连接到MySQL服务器.
我的pom有:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.17</version>
<type>jar</type>
<scope>runtime</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
在运行时,因为我想在运行时连接到MySQL服务器 - 也尝试过编译和提供,但不起作用.
SQL代码是标准的:
String dbClass = "com.mysql.jdbc.Driver";
Class.forName(dbClass);
Connection connection = DriverManager.getConnection(dbUrl,
username, password);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String tableName = resultSet.getString(1);
System.out.println("Table name : " + tableName);
}
Run Code Online (Sandbox Code Playgroud)
当我从Eclipse运行它时,它工作正常并打印表名.
但是,从maven开始,生成的SNAPSHOT java -jar target\File.jar在运行后通过>执行时总是会出错mvn clean install.
java.lang.ClassNotFoundException:com.mysql.jdbc.Driver
为了让maven构建起作用,我在这里缺少什么?运行mvn clean install没有错误,并且构建正常.只有在执行SNAPSHOT exe时才会发生错误.
MySQL jar在我的.m2 repo中,我尝试通过mvn命令行显式添加它,但是它已经存在了.
我想从匹配某些字符串的文件中删除行.这些字符串包含斜杠,即'/'.我的问题是虽然您可以使用sed更改分隔符以进行替换,但您似乎无法使用delete选项执行此操作.
即因为$ x中的斜线,这不起作用:
sed --in-place "/$x/d" total-list.csv
Run Code Online (Sandbox Code Playgroud)
其中$ x例如是" http://someurl.com/uri ".但是在使用d选项时你似乎无法更改分隔符(例如,我需要它来代替/).
任何人都可以帮忙吗?
谢谢保罗
Mage :: log对我来说很好,除了打印数组信息.
例如,如果我有一个数组$ result,并执行此操作:
Mage :: log('[CartController:getDeliverLeadTime(country):'.$ result.')');
在我的system.log文件中我得到:[CartController:getDeliverLeadTime~(country):Array)
*我希望它打印数组的实际结构和内容,就像普通的print_r一样.*
如果我执行数组的var_dump,我什么也得不到,即[CartController:getDeliverLeadTime~(country):).
如果我做了print_r,我得到:[CartController:getDeliverLeadTime~(country):1)
这对我来说是一个阻碍,因为我无法调试我需要的东西 - 如果有人能说明如何让Magento实际打印日志中的数组内容,将不胜感激.
我在alanstorm.com上读到它默认情况下会发生,但不适合我.
谢谢保罗
我有一个名为test-domain的文件,其内容包含100.am行.
当我这样做时,100.am的行将从测试域文件中删除,如预期的那样:
for x in $(echo 100.am); do sed -i "/$x/d" test-domain; done
Run Code Online (Sandbox Code Playgroud)
但是,如果不是echo 100.am,我从名为unwanted-lines的文件中读取每一行,它不起作用.
for x in $(cat unwanted-lines); do sed -i "/$x/d" test-domain; done
Run Code Online (Sandbox Code Playgroud)
这是即使不想要的线条唯一内容是一条线,用确切内容100.am.
如果你在变量中使用echo,有没有人知道为什么sed删除行有效,但如果你使用cat则没有?
在我的Magento网站上(不是真正的网址;)),我有http://magento.local.com/media/作为403 Forbidden返回.
这似乎是所有Magento安装的标准配置,但我想更改此设置,并且没有为/ media /请求返回403.
我怎样才能做到这一点?
编辑:(添加更多信息和原因)
我希望/ media /不是403,这样我就可以将请求重定向到/ media /到/media/index.html.
我认为一旦403解决了这个重定向会很容易,但遗憾的是它不是.例如
RewriteRule ^$ /index.html [L,NC,R=301]
Run Code Online (Sandbox Code Playgroud)
根本不重定向/ media /,并显示通常的"/的索引".
SOLUTION:将DirectoryIndex添加到htaccess文件中
谢谢保罗