Emmet优雅地搭建起Html骨架

Emmet优雅地搭建起Html骨架

技术应用 算法语言 软件开发 10个月前 (12-05) 浏览: 173 评论: 0

曾经看见一位学长在PHP-Storm上输入一段奇怪的代码,当他按下了Tab键后,神奇的事情就发生了。 如果HTML也是一种编程语言的话,私以为Html会是我们接触到的最多的编程语言。可能有人并不知道什么是HTML(超文本标记语言),但是当他人生中第一次上网打开浏览器浏览网页的时候,他与HTML的邂逅就开始了……只是当初,他不知道纷繁绚丽的网页的背后,是HTML语言在默默支撑; HTML+JS+CSS是前端的三大语言。如果把网页比作人的话,HTML给了人以骨架,CSS未知赋予了血肉、发肤以至衣物、妆饰,而JS则给了他运动的灵魂。 这边文章从HTML讲起,对于HTML的基本知识在此就不便赘述了,Google一下,你就知道。在此,我主要讲的是怎样快捷地搭建起HTML的骨架。 把HTML比作骨架并非我心血来潮,我只是在告诉自己写HTML页面要有搭框架的意识。不瞒你说,我以前的HTML的代码都是拼凑而成的。哪里不对改哪里,效率很低。正向箭头 + 标签名+反响箭头这种重复的代码,写多了就觉得腻了。那么有没有什么快捷的方式让我们关注HTML的架构本身,而不是繁杂的html语言本身呢? 用Emmet Tab一下 Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生。它使用仿CSS选择器的语法来生成代码,大大提高了HTML/CSS代码编写的速度 Emmet 的语法极客人目前还只是刚刚入门,这里主要是抛砖引玉一下,给大家几个例子,更专业的介绍与教程,给大家推荐下面文章:http://www.iteye.com/news/27580 ,在此我也就不大篇幅地复制粘贴了。 ** 输入“!”或“html:5”,然后按Tab键: ** * ** 连续输入元素名称和ID,比如输入p.foo: ** 还有一些较复杂的用法大家自行研究,在此不做赘述,因为我的作用就是抛砖引玉,勾起大家的兴趣。 ** 要见证奇迹的话建议自己亲手试一下!!** 一个例子:实现列表 我要实现的效果如下: 按照搭建骨架的意识,我们得弄清这个列表的结构是什么样子: ** 最外层一个无序列表,这个无序列表每个列表项都嵌套一个有序列表,这个有序列表有两个列表项,每个列表项含有个无序列表 ** Emmet语法如下:   Tab一下: 然后把文字填进去   效果预览 > Javascript 第一章 const let 第二章 function object Java 第一章 class package 第二章 private public 参考文章: * http://www.iteye.com/news/27580 * http://www.powerxing.com/emmet-syntax-cheatsheet/

百度地图API位置偏移的校准算法

百度地图API位置偏移的校准算法

算法语言 软件开发 2年前 (2016-02-17) 浏览: 2012 评论: 0

在开始使用百度地图API进行开发时可能会遇到一件相当奇怪的事情,使用百度定位的经纬度在地图上显示相当不准确,这一问题我在微信开发和安卓开始时都遇到过。第一次使用百度地图api获取位置并在地图上显示是在微信开发的时候,那是不知道具体原因无奈在微信获取的地理位置上加了一个偏移量进行校准,虽能勉强解决,但是不太准确。后来在安卓开始也同样遇到了这个问题,才发现百度地图API定位偏移已经不是一个偶然问题了。 百度地图API定位偏移的原因 以下来自互联网: 一、坐标体系 首先我们要明白,开发者能接触到哪些坐标体系呢? 第一种分类: 1、 GPS,WGS-84,原始坐标体系。一般用国际标准的GPS记录仪记录下来的坐标,都是GPS的坐标。很可惜,在中国,任何一个地图产品都不允许使用GPS坐标,据说是为了保密。GPS坐标形式如图,度分秒形式的经纬度:   2、 GCJ-02,国测局02年发布的坐标体系。又称“火星坐标”。在中国,必须至少使用GCJ-02的坐标体系。比如谷歌,腾讯,高德都在用这个坐标体系。GCJ-02也是国内最广泛使用的坐标体系。 3、 其他坐标体系。一般都是由GCJ-02进过偏移算法得到的。这种体系就根据每个公司的不同,坐标体系都不一样了。比如,百度和搜狗就使用自己的坐标体系,与其他坐标体系不兼容。 第二种分类: 首先明白,所有坐标体系的原点,都是非洲。 1、 经纬度。这个是球面坐标,对于北京来说,就是(116.38817139.935961)这样的坐标。比如腾讯、高德、百度都是这样的经纬度坐标。谷歌是经纬度顺序写反的经纬度坐标。 如果是度分秒坐标,需要进行转换,才能得到这样的经纬度坐标。详见坐标转换。 2、 墨卡托坐标。平面坐标,相当于是直线距离,数字一般都比较大,像这样的。(215362.00021333335 99526.00034912192) 墨卡托坐标,主要用于程序的后台计算。直线距离嘛,加加减减几乎计算方便。 搜狗地图API就是直接使用的墨卡托坐标。 二、坐标转换 在各种web端平台,或者高德、腾讯、百度上取到的坐标,都不是GPS坐标,都是GCJ-02坐标,或者自己的偏移坐标系。 比如,你在谷歌地图API,高德地图API,腾讯地图API上取到的,都是GCJ-02坐标,他们三家都是通用的,也适用于大部分地图API产品,以及他们的地图产品。 例外,百度API上取到的,是BD-09坐标,只适用于百度地图相关产品。 例外,搜狗API上取到的,是搜狗坐标,只适用于搜狗地图相关产品。 例外,谷歌地球,google earth上取到的,是GPS坐标,而且是度分秒形式的经纬度坐标。在国内不允许使用。必须转换为GCJ-02坐标。 1、度分秒坐标转换为经纬度 比如,在GPS记录仪,或者google earth上采集到的是39°31'20.51,那么应该这样换算,31分就是31/60度,20.51秒就是20.51/3600度,结果就是39 + 31/60 + 20.51/3600 度。 2、 GPS转换为GCJ-02坐标 谷歌,高德,腾讯的地图API官网上,都不直接提供这样的坐标转换。如果要得到GCJ-02坐标,最好在他们的地图上直接取点,或者通过地址解析得到。(这个工具我后续会贴出来的。我就爱干这样的事情,哈哈。) 不过,在网上搜到了这样的接口,该接口的type=1就是GPS转到GCJ-02的墨卡托坐标。请大家对接口保密,哈哈。详见: http://map.sogou.com/api/documentation/javascript/api2.5/interface_translate.html#late_intro 3、GCJ-02与BD-09之间互转 国测局GCJ-02坐标体系(谷歌、高德、腾讯),与百度坐标BD-09体系的转换,在CSDN上有很详细的讲解: http://blog.csdn.net/coolypf/article/details/8569813 不过也有更简单的算法,线性算法(lat和lng是经纬度,球面坐标): To_B是转到百度,To_G是转到GCJ-02。 var TO_BLNG = function(lng){return lng+0.0065;}; var TO_BLAT = function(lat){return lat+0.0060;}; var TO_GLNG = function(lng){return lng-0.0065;}; var TO_GLAT = function(lat){return lat-0.0060;}; 4、经纬纬度转成墨卡托 网上也有详细讲解: http://bbs.esrichina-bj.cn/esri/viewthread.php?tid=78245 (大家发现没,高德是api,腾讯和百度是mapapi,说明什么?) 三、坐标偏移 如果您的坐标在转换之后,还有偏移,那么考虑以下几个方面。 A、原始坐标系弄错,比如以为自己是GPS坐标,但其实已经是GCJ-02坐标。 解决方案:请确保采集到的数据是哪个坐标体系,需要转换到哪个坐标系,再进行坐标转换。 B、原始坐标准确度不够 解决方案:如果您是GPS坐标,请确保采集GPS数据时,搜到至少4颗以上的卫星。并且GPS数据准不准,还取决于周围建筑物的高度,越高越不准,因为有遮挡。 如果本来就是GCJ-02坐标,在不同地图放大级别的时候,看到的地方可能不一样。比如你在地图级别4(国家)取到的坐标,放大到地图12级(街道)时,坐标就偏了。请确保在地图最大放大级别时,拾取坐标。 C、度分秒的概念混淆 比如,在google earth上采集到的是39°31'20.51,那么应该这样换算,31分就是31/60度,20.51秒就是20.51/3600度,结果就是39 + 31/60 + 20.51/3600 度。 D、经纬度顺序写反了 有些公司(比如高德,百度,腾讯)是先经度,再纬度,即Point(lng lat)。但谷歌坐标的顺序恰好相反,是(lat lng)。 相关问题的百度解释:http://developer.baidu.com/map/question.htm 百度地图API位置偏移的校准算法 C++算法  

流量关键词链接页面提升百度权重

流量关键词链接页面提升百度权重

技术应用 2年前 (2015-12-20) 浏览: 110 评论: 1

百度搜索的排名常常根据页面搜索进入的流量大小进行变化,如果对于一个关键词很多人都会进入同一个网页,百度会认为这个网页能很好地解决这个问题,从而使这个网页在该关键词搜索时排在其它网页的前面。在百度站长平台的后台,我们可以知道有哪些关键词被百度搜索以及是否进入了我们的网页。我们可以通过做一个这个页面,里面全是搜索这些关键词的网址,访问以后进入我们的网站,从而提升我们的网站排名。 流量关键词链接页面提升百度权重 以下的代码是我写的一个流量关键词链接页面,里面全部是我的百度关键词。我们和偶尔点一下,提升相应关键词排名。使用方法是将百度流量关键词导出后放在一个keyword.txt文件里,关键词每行一个,文件路径与下面的PHP代码文件相同。  

一个炫酷的HTML5 “闭站保护中”404页面

一个炫酷的HTML5 “闭站保护中”404页面

算法语言 2年前 (2015-12-18) 浏览: 1163 评论: 3

网站一夜关键词降为0 王柏元的博客疑似被百度搜索K掉,自上个月17号以来关键词个数一路走低,直到这个月降为0,昨天甚至通过“王柏元的博客”、“王柏元”这样的关键词我的网站不在前5名、甚至无法搜索到我的网站,初步判断的原因可能是我上个月解析的www.wangbaiyuan.cn到本网站因为疏忽没有实行301重定向到wangbaiyuan.cn,导致百度搜索认为我的网站被镜像。在未找到确切原因之前,我决定通过百度站长平台采取闭站保护,防止不明原因对网站SEO进一步产生影响。     闭站保护申请期间,百度要求被保护的网站要出于不能访问状态:全站HTTP状态码设置为404,或者将服务器关机服务器。通过域名不解析的方法是不能通过闭站保护审核的。所以对于虚拟主机用户不能切断服务器电源情况下,可以采用全站404的方式申请闭站保护。 新建如下内容的index.php实现全站404 你可以将原来根目录的原index.php文件改名,新建一个index.php内容如下: 这个网页是可以访问但是http状态返回码是404,通过html5实现,能满足404要求,并且界面还是很炫酷的啦! 预览    

phinx数据库查询-Phinx教程(3)

phinx数据库查询-Phinx教程(3)

技术应用 2年前 (2015-08-28) 浏览: 921 评论: 3

执行查询 Phinx进行数据库查询可以执行 execute()和 query()方法。 execute()方法返回的是执行数据库查询时数据库受影响的行数,而 query()方法返回的结果是一个数组。   注意:这些命令运行基于使用PHP数据对象(PDO) 扩展,它定义了一个轻量级的、一致的接口在PHP中访问数据库。总是确保你的查询与之前使用pdo同在 execute()命令。这是特别重要的在使用分隔符在插入的存储过程或触发器不支持分隔符。 获取行 phinx有两种方法可以获取行:fetchRow()方法将获取单个行,而 fetchAll()方法将返回多行。这两种方法都接受原生的SQL语句作为他们唯一的参数。   处理数据表 表对象 表对象是一个Phinx提供最有用的的api。它允许您使用PHP代码轻松操纵数据库表。您可以通过table()方法对表对象进行实例化,从而实现数据库迁移。 然后您可以使用表对象提供方法来操纵这个表: 创建表 使用表对象创建一个表十分简单,以下举例创建一个表来存储用户: 添加列:addColumn()方法; 添加索引:addIndex()方法:上面使用用户名和电子邮件来创建一个惟一索引列,最后调用save()将更改提交到数据库。 注意:Phinx自动为每个表创建一个名为“id”的自增列作为主键。 我们也可以使用表对象自行指定一个主键。一下代码会禁用Phinx自动生成 “id”的自增列作为主键,并使用其中 的两列创建一个主键:   若设置一个 primary_key但不使用自增属性 AUTO_INCREMENT,需要指定一个id来覆盖默认的 id字段名:   有效的列数据类型 列属性的数据类型指定为字符串,可以下列类型之一: biginteger binary boolean date datetime decimal float integer string text time timestamp uuid 此外,MySQL还支持 enum和 set列类型,Postgres支持 json和 jsonb列类型(PostgreSQL 9.3及以上)。 判断是否存在一个表: hasTable()   删除表 使用 dropTable()方法,同时你最好在 down()方法写上如何再重新创建此表(极客人注:便于后续向下迁移恢复)。   重命名表 重命名表通过访问表对象的一个实例,然后调用 rename()方法实现。   使用列 得到一个列列表:getColumns()方法 要检索所有表列,可以简单地创建一个表对象然后调用getColumns()方法,该方法将返回一个数组。例子如下:   检查是否存在一个列:hasColumn()方法 你可以使用 hasColumn()方法检查是否存在某一列。   重命名一个列:  renameColumn() 访问表对象的一个实例,然后调用 renameColumn()方法。   有顺序添加列 要想在一个列后跟着添加一个新列,使用 after选项来实现。   删除一个列: removeColumn()方法   设定列属性限制 可以使用 limit选项限制列的最大长度:   使用索引 添加一个索引表您可以简单地调用表对象的 addIndex()方法。   默认情况下Phinx会让数据库适配器创建一个正常的索引。我们也可以通过一个额外的参数 addIndex()方法来指定一个唯一的索引。   删除多个索引调用 removeIndex()方法,你必须为每个索引调用这个方法。   请注意: 当使用方法 removeIndex(),不需要再调用 save(),索引会在方法执行后立即删除。 操作外键 Phinx支持创建外键来约束你的数据库表。以下为添加外键的一个例子   “删除”和“更新”操作定义的“删除”和“更新”选项数组。可能性值“SET_NULL”,“NO_ACTION”、“级联”和“限制”。 我们也可以轻松地检查是否存在外键:   最后删除外键使用 dropForeignKey方法。  

【译】构建迁移-up,down,change方法-Phinx教程(2)

【译】构建迁移-up,down,change方法-Phinx教程(2)

技术应用 2年前 (2015-08-26) 浏览: 724 评论: 0

本文由极客人原创翻译自:http://phinx.readthedocs.org,不周之处,敬请指正;系列文章请访问王柏元的博客Phinx标签页或者用极客搜搜索:Phinx 获取所有文章目录 为转换数据库:对数据进行还原或修改,Phinx 是通过一系列的Migrations文件来实现的。每个Migrations文件其实是一个PHP类,构陷一个migration的方法最好是通过Phinx 提供的API,当然,运行原生的SQL语句也是可以的。 新建Phinx Migration 创建一个新的Phinx Migration迁移。我们要在项目文件夹下运行Phinx的 create命令:运行上述命令完毕后,在migrations文件夹(这个文件夹就是你安装phinx时的那个migrations文件夹) 会生成一个文件名为YYYYMMDDHHMMSS_my_new_migration.php的PHP文件,在前14个字符其实当前时间的时间戳。Phinx自动创建一个框架迁移文件有两个空的和一个被注释掉的方法: AbstractMigration类 所有Phinx Migration迁移类都继承于 AbstractMigration类,它提供了必要的支持来创建数据库迁移。数据库迁移可以创建新表,插入行,添加索引和修改列。 up()方法 当你对数据库进行向上迁移(即对数据库进行新的修改时),并且phinx检测到构建的migrations 之前没有被运行时,up()方法会被phinx自动运行。在up()方法中你需要根据你的意图自己写代码来修改数据库。  Down()方法 当你对数据库进行向下迁移(即对数据库的操作进行还原修改),phinx检测到构建的migrations 之前没有被运行时,Down()的方法会被Phinx自动运行。你应该使用down()方法来扭转/撤销数据库的修改。 Change()的方法 Phinx 0.2.0引入了一个新功能,叫做可逆迁移。你只需要定义可逆迁移的 up()方法的逻辑那么Phinx就可以为你自动找出如何向下迁移。定义一个可逆迁移必须取消 change方法的注释、补全里面的方法定义。例如:当执行这个迁移时,Phinx将创建 user_logins表,同时自动实现如何删除表。需要注意的是,当迁移文件中存在change方法时,Phinx会自动忽略了 up()和 down()方法。如果您还需要使用这些方法,建议您创建一个单独的migration文件。 注意: 在创建或更新表内 change()方法必须使用桌子上 create()和 update()方法。Phinx不能自动确定 save()调用创建一个新表或修改一个现有的一个。Phinx的可逆迁移只能反向实现以下的操作: 新建表 重命名表 添加列属性 重命名列属性 添加索引 添加外键 如果一个操作不能逆转,在向下迁移的时候,Phinx就会抛出 IrreversibleMigrationException异常。

【译】Phinx的介绍与安装-Phinx教程(1)

【译】Phinx的介绍与安装-Phinx教程(1)

技术应用 2年前 (2015-08-24) 浏览: 344 评论: 0

本文由极客人原创翻译自:http://phinx.readthedocs.org,不周之处,敬请指正;系列文章请访问王柏元的博客Phinx标签页或者用极客搜搜索:Phinx 获取所有文章目录   介绍 一个训练有素的开发者,善于使用SCM系统(Software configuration management :软件配置管理)对其程序代码进行版本控制;那么,为什么他们不使用相同的方式对数据库进行版本控制呢? Phinx允许开发者一种清晰、简洁的方式来修改和操作数据库,依托Phinx提供了一个强大的API,你无需手工编写SQL,而是使用PHP代码来创建代码迁移。然后开发者可以使用他们喜欢的SCM来进行代码迁移。这使得Phinx代码迁移可以移植于不同数据库系统之间。Phinx会对已经进行过的代码迁移进行跟踪,这样你就可以少担心数据库的状态,而是专注于开发更好的软件。 目标 开发Phinx的目的如下: 在常用数据库厂商之间轻松移植。 与PHP开发框架独立。 安装过程简单。 有一套易于使用的命令行操作。 与其他PHP工具(Phing、PHPUnit))和web框架集成使用。 安装 Phinx需要使用Composer进行安装,Composer 是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。详情可参考Composer官网 注意: Phinx最低支持PHP5.3.2版本。 安装Phinx,仅仅需要使用composer工具即可:执行下面命令进行安装(运行PHP命令需要自行配置好PHP环境变量,在环境变量path中加入PHP安装根目录): 然后运行composer: 在您的项目中创建一个有可写权限的文件夹 migrations来存放迁移文件,然后在您的项目文件夹下执行命令:

[转]java实现Http-post向服务器提交数据

[转]java实现Http-post向服务器提交数据

算法语言 2年前 (2015-06-08) 浏览: 93 评论: 0

在进行安卓学习中,极客人因为需要实现登录认证的功能,要实现http用post方式提交数据。下面是从CSDN转载的文章内容 程序组成部分: 1.客户端用eclipse HttpUtils.java 标准java接口,实现http用post方式提交数据。 (用post方式提交 username 和 password) 重点注意点: 1. public static String sendPostMessage(Map<String,String> params , String encode) 目的: 在客户端向服务器端发送 数据 params , 最终获取从服务器返回的输入流,最终将该输入流转换成字符串。注意使用标准java接口如何实现http的post请求,成功与服务器连接,并且获得从服务器端响应返回的数据。 2. public String String changInputStream(InputStream inputStream , String encode) 目的: 将一个输入流按照指定编码方式转变成一个字符串。(本例中是指,将从服务器端返回的输入流InputStream转变成一个字符串String,编码方式是encode方式) 3. Map<String ,String> 的实例化方法及迭代方法 Map  的实例化方法: Map 的迭代方法:   程序思路: 1. 客户端建立http链接httpURLConnection,使用OutputStream向服务器传入数据 2. 获得从服务器端返回的输入流InputStream 3. 将InputStream转换成字符串String ---------------------------------------------------------------------------------------------------------------- 关键代码: 1. 客户端 HttpUtils.java

被.ytlqpo.com恶意镜像的解决、反制措施

被.ytlqpo.com恶意镜像的解决、反制措施

技术应用 计算机技术 2年前 (2015-05-19) 浏览: 981 评论: 19

前天在百度搜索王柏元的博客网站关键词时,猛地在百度结果的第一页中发现了一个标题、简介和我完全一样的网站,不看不知道,这个网站还不是传统意义上的抄袭、盗链,不仅仅把我的网站全部照搬,而且把网页里所有的链接都置换成那个镜像网站地址的。 我这才知道:我的网站被人家恶意镜像了。 和一般的镜像不太一样,这个镜像网站不仅仅是针对我一个网站,而是自动镜像。主要表现为: ①我的网址:http://wangbaiyuan.cn;镜像网址就是:wangbaiyuan.ytlqpo.com。另外一个网站网址:http://weixin.wangbaiyuan.cn,镜像网址就是weixinwangbaiyuan.ytlqpo.com经过本人测试:把你的网站网址去掉主机记录和顶级域名,加上.ytlqpo.com,就知道你自己有没有被镜像! ②为镜像网站里所有链接添加镜像,比如我的网站里有个友情链接:http://www.zhiyanblog.com,这个友情链接就会置换成:zhiyanblog.ytlqpo.com. 一、经过本人测试中招的大网站有: 360. ytlqpo.com 镜像360网站 sogou. ytlqpo.com 镜像搜狗搜索 qq. ytlqpo.com 镜像qq官网 net. ytlqpo.com 镜像万网官网 haosou. ytlqpo.com 镜像好搜网站 不过恭喜百度搜索主页神奇地幸免了 二、测试的站长朋友网站被镜像的有: zhiyan blog.ytl qpo.com 镜像http://www.zhiyanblog.com nai ba.ytlqpo.com 镜像naiba.im wangb aiyuan .ytlqpo.com 镜像http://wangbaiyuan.cn 三、恶意镜像很危险 恶意镜像由于照搬了源站的所有内容,如果你的网站权重不够高就苦逼了,百度如果分不清哪个源站,难保把你当抄袭,如果你的权重干不过人家的话。不管你的权重高不高,被恶意镜像的网站无疑会削弱你的权重,因为百度蜘蛛发现了大量和你网站一模一样的内容。虽然网上有很多恶意镜像的解决办法,但是我感觉我这次遇到的情况和网上的都不太一样,使用网上许多方法都不奏效。 四、解决与反制措施 在尝试多种方法无效后,我想到了一个权宜之计:禁止恶意镜像网站的访问IP,之所以说是权宜之计,因为难保它的IP会变,还有这个IP不是镜像网址的解析IP 因为多次尝试解决问题过程中,我发现这个恶意镜像的网站的原理大概是:别人访问abc.ytlqpo.com 的时候,它会访问一下(www)abc.com(cn\net\cc\xyz\wang),然后把访问的结果修改一下链接返回给你。所以,它必须有一个访问源站的过程。于是乎解决方案就是禁止这个访问IP. 在搜寻海量的网站日志没有确认这个IP后,我写了一个PHP文件来截获这个访问IP。 1.截获IP 将上述文件命名为“ip.php”放在网站根目录,然后我通过镜像网站网址访问wangbaiyuan.ytlqpo.com/ip.php,然后在上述PHP程序生成的ip.txt中获取了这个IP: 104.194.16.230 (美国) 2.屏蔽IP 在htaccess中添加下述代码: 对于htaccess屏蔽IP的方法,我的之前一篇文章有详细介绍:htaccess屏蔽ip访问。 当你再次用镜像网址访问你的网站的时候就会报403错误了,现在百度即使收录了这个网址对你的网站也不会产生任何影响. 3.反制措施 为了给这个镜像网站小小的“反击”,我决定把这个403错误页面设置为其他网站网址,实现方法是在屏蔽IP的htaccess代码中添加: 这样你访问你的镜像网址时,会发现它镜像的是其实百度新闻。(不知道百度蜘蛛发现一个网站在完全抄袭自己家的东西会是什么感觉) 演示效果: wangb aiyuan .ytlqpo.com(为了不给这个网址做传递权重和宣传,防止产生链接效果,请自行复制此链接去掉空格在浏览器中打开) 当然你写可以根据个人需求让你的镜像网址转向镜像其他的网站,比如: 借助它Fanqiang!

使用.htaccess文件实现301重定向常用的七种方法

使用.htaccess文件实现301重定向常用的七种方法

算法语言 3年前 (2015-01-06) 浏览: 6345 评论: 0

 使用.htaccess文件实现301重定向常用的七种方法 301重定向对广大站长来说并不陌生,从网站建设到目录优化,避免不了对网站目录进行更改,在这种情况下用户的收藏夹里面和搜索引擎里面可能保存的还是老的地址,在打开这些链接时会无法显示页面出现404的错误,造成很差的用户体验并失去了很多流量,今天笔者就给大家分享一下实现301重定向的七种方法。 从搜索引擎优化的角度来看,目前301重定向是网站目录更改后重新定向最为可行的一种办法。在你更改地址使用了301重定向后,搜索引擎只会对新地址进行索引,同时会把旧地址下原来收录的链接转移到新地址下,而上述的这些操作并不会影响到网站在搜索引擎的排名。 实现301重定向最直接的方法是编辑.htaccess文件,想了解关于htaccess文件使用方法,请点此查看。园子需要提醒你的是,在对.htaccess文件进行操作之前,一定要备份好原来的.htaccess文件,以避免修改出错带来不必要的麻烦。 1.重定向domain.com到www.domain.com 这种重定向非常常见,最终目的是实现域名的唯一性,也是seo必须要做的。实现方法是在.htaccess文件中加入以下规则: 代码如下: 注:使用这种301重定向方式后,当你打开类似domain.com的网址后会自动定向到www.domain.com。 2.重定向www.domain.com到domain.com 这种操作刚好和上面的域名显示是相反的,规则如下: 代码如下: 注:使用此301重定向方式,当你打开类似www.domain.com的网址后会自动定向到domain.com。 3.重定向olddomain.com 到 newdomain.com 这种操作经常用于更换域名时用到,很多站长因为种种原因可能要为站点更换域名,此时多采用以下规则来实现重新定向: 代码如下: 注:当用户打开老的域名后,会自动重定向到新的域名下的站点,此时域名显示格式为不带www.的格式。 4.重定向olddomain.com 到 www.newdomain.com 这种操作是基于第三种方式的改良,只是显示网址显示为带www.的那种。 代码如下: 注:当用户打开老的域名后,会自动重定向到新的域名下的站点,并且网址显示格式为带www.的格式。 5.重定向domain.com/file/file.php 到 otherdomain.com/otherfile/other.php 这种操作针对于更改一个域名的同时,网站目录路径也发生变化的情况下使用,规则如下: 代码如下: 注:当用户访问老的域名路径时,会重新定向到新的域名新的路径下。 6.IIS服务器下实现301重定向 具体方法如下:打开internet信息服务管理器,在欲重定向的网页或目录上按右键,选中“重定向到URL”, 在对话框中输入目标页面的地址,切记要选中“资源的永久重定向”最后点击“应用”即可。 注:再次提醒你,一定要选中“资源的永久重定向”。 7.Apache服务器实现301重定向 在Apache服务器实现301重定向的方法园子在以前的文章中提到过,只需要在.htaccess文件中加入以下规则: 代码如下: 也可能是: 代码如下: 以上七种方法是在网站管理与优化过程中经常会使用到的301重定向方法,当然,你也可能遇到不大相同的状况,这时候就需要根据自己的目的去适当调整下命令规则以适应不同的需求。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册