手机站与PC站的配置方式有3种,分别是跳转适配,代码适配和自适应,不同配置方式优化的方法也有所不同。
根据《百度移动搜索建站优化白皮书》,从代码层面考虑有两种:
1、添加Vary HTTP标头
2、在pc的响应的head中添加:
<meta name="applicable-device" content="pc">
在移动的响应的head中添加:
<meta name="applicable-device" content="mobile">
详细优化说明可以参考:http://ziyuan.baidu.com/college/courseinfo?id=156
那么如何为网站响应的HTTP标头添加Vary呢?
服务器
服务器有足够的权限,具体说明可以参考官网的建议:http://ziyuan.baidu.com/college/articleinfo?id=717
iis6添加方式:
1.打开IIS找到需要添加的站,右键属性。
2.点击HTTP头,找到自定义HTTP头,点击添加,在弹出的框里面输入:自定义 HTTP头名(C)下面的框里面填写:Vary ;在自定义HTTP 头值(U)下面的框里面填写User-Agent 。点击确定,在点击确定,完毕。
iis7设置
nginx设置:
在配置节点里面加。
add_header Vary 'User-Agent';
apache设置:
可以用.htaccess,参考下面虚拟主机方式设置规则。
虚拟主机
由于权限有限,可以通过代码方式。在需要的页面加。
header("Vary:User-Agent",false);
实现如下:
<?php header("Vary:User-Agent",false); phpinfo(); ?>
效果如下:
iis7以上版本
可以通过web.config来设置,将以下代码保存为web.config,然后上传到网站根目录。
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <httpProtocol> <customHeaders> <remove name="Vary"></remove> <add name="Vary" value="User-Agent"></add> </customHeaders> </httpProtocol> </system.webServer> </configuration>
如果原本网站根目录有web.config文件,在原来文件<system.webServer>标签后添加
<httpProtocol> <customHeaders> <remove name="Vary"></remove> <add name="Vary" value="User-Agent"></add> </customHeaders> </httpProtocol>
apache添加方式
大多数主机商都安装了mod_headers,在.htaccess文件中添加
<IfModule mod_headers.c> #如果需要指定文件,可以把<FilesMatch>前面的#去掉 #<FilesMatch ".(php|js|css|xml|gz|html)$"> Header append Vary "User-Agent" #</FilesMatch> </IfModule>
知识扩展:设置 header 指令
描述: 配置HTTP响应头
句法: Header [condition] set|append|add|unset|echo header [value] [env=[!]variable]
该指令可以替换,合并或删除HTTP响应头。在内容处理程序和输出过滤器运行之后,头文件被修改,允许修改传出头文件。
可选条件 onsuccess 或者 always。它确定应该操作哪个内部头表。onsuccess代表 2xx状态码而 always 代表所有状态码(包括2xx)。
它执行的动作由第二个参数决定。这可以是以下值之一:
set
响应标题被设置,用这个名字替换任何以前的标题。该值可以是格式字符串。
append
响应头被追加到任何现有的相同名称的头。当一个新的值被合并到一个已经存在的头上时,它将与逗号分开。这是给标题多个值的HTTP标准方式。
add
响应标题被添加到现有的标题集,即使这个标题已经存在。这可能会导致两个(或更多)标题具有相同的名称。这可能会导致不可预见的后果,应该使用“附加”来代替。
unset
如果该名称存在,则会删除该名称的响应标题。如果有多个相同名称的标题,则全部将被删除。
echo
带有这个名字的请求头在回应头中回显。标题可能是一个正则表达式。
该参数后面跟着一个 header 名称,可以包含最后的冒号,但不是必需的。对于 set,append,add 和unset,大小写是忽视的,但 echo 的 header 名称是大小写敏感的,并且可以是正则表达式。
本文原地址:https://blog.mydns.vip/1591.html
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8261;邮箱:jenny@youkuaiyun.com。本站原创内容未经允许不得转载,或转载时需注明出处::优快云资讯门户 » 如何给网站添加Vary HTTP标头 手机站代码适配