修改.htaccess文件以适应301重定向和页面缓存

时间:2016-03-13 05:13:14

标签: apache .htaccess redirect mod-rewrite

为了提高搜索引擎优化评级,我在.htaccess文件中添加了一些元素,以支持301重定向和页面缓存。

我在.htaccess文件中的代码:

<IfModule mod_expires.c>
<Filesmatch "\.(jpg|jpeg|png|gif|js|min.css|swf|ico|woff|mp3)$">
ExpiresActive on
ExpiresDefault "access plus 2 days"
</Filesmatch>
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^[0-9]+(\.[0-9]+){3} [OR]
RewriteCond %{HTTP_HOST} !^www\.website\.co$ [OR]
RewriteCond %{HTTP_HOST} ^website.co [NC]
RewriteRule ^(.*)$ http://www.website.co/$1 [L,R=301]
</IfModule>

我能够看到301重定向,但是没有关于缓存的更新。我尝试使用以下命令查看更改

curl -I www.websitename.com

并找到以下结果

HTTP/1.1 301 Moved Permanently
Date: Sun, 13 Mar 2016 05:12:19 GMT
Server: Apache/2.4.7 (Ubuntu)
Location: http://www.website.co/
Content-Type: text/html; charset=iso-8859-1

请帮助检查一下为什么没有从服务器端启用缓存控制?

1 个答案:

答案 0 :(得分:2)

您的for(double element : a) { //<-- for each element in the array. sum += element; //<-- add the element to the sum. } 指令在以下组中定义:

ExpiresDefault

如您所知,只有以上列出的某个页面/项目结尾的请求才会从服务器获得<Filesmatch "\.(jpg|jpeg|png|gif|js|min.css|swf|ico|woff|mp3)$"> 标题。

在你的curl请求中,你只是在请求主页,主页不会请求以这些扩展名结尾的文件。因此这种行为。您可以尝试按如下方式修改规则:

ExpiresDefault