对于一个不懂程序的SEOER来做,更改代码方面是一件非常苦难的事情,当我们遇到301转向以及404页面的制作问题时,经常会困恼我们,这里我提供一个htaccess在线生成工具,这里有404页面链接生成、301转向生成以及htaccess常规设置问题,下面来说一下具体的说明以及使用方法。

htaccess是什么文件

htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

一般来说,htaccess文件需要放在网站的根目录下才能控制整个站点,并且在Linux系统中,需要把其权限设置为644以提高安全性。国内很多主机提供商都通过一定技术手段禁用了该文件,但是国外大多数空间商都是支持该文件的,可以极大的扩展虚拟主机的功能

.htaccess文件中的配置指令作用于.htaccess文件所在的目录及其所有子目录,但是很重要的、需要注意的是,其上级目录也可能会有.htaccess文件,而指令是按查找顺序依次生效的,所以一个特定目录下的.htaccess文件中的指令可能会覆盖其上级目录中的.htaccess文件中的指令,即子目录中的指令会覆盖父目录或者主配置文件中的指令。

在实际应用中,用户最常用其重定向功能与伪静态功能,比如把一个PHP的动态页面定义成一个HTML后缀的静态页面URL形式,这种形式在用户端完全无法看出来,因此,伪静态也是SEO的一种重要手段。常见的程序比如PHPwind、DedeCMS、Wordpress等都支持自动伪静态。

本文件应该由UTF-8编码,或者不添加BOM的Windows编码也可以。因此,不能使用Windows系统自带的记事本程序来编写Htaccess文件,常见的Notepad2等软件可以用来编写该文件。

如果手头没有编辑工具或者不方便下载,可以通过本站的“.htaccess制作生成编辑器”来自动处理这个文件。我们已经完全修正了这套程序中原来存在的很多错误,并且增加了很多使用的功能(比如直接下载),您可以放心使用。但由于服务器系统的不确定性,我们强烈建议您在上传之前,将原来的文件备份。本站不可能因使用这套程序造成的损失承担任何责任。

通过htaccess实现301重定向

在很多情况下,网站都需要进行301或302重定向,其中一个为永久重定向,一个为临时重定向。比如网站整个更换了域名,比如网站结构或目录发生了移动,比如需要将某个域名上的文件迁移到另外的域上等等。

有时候这种重定向对SEO或者PR值的传递是非常有效的。一般我们有几种途径制作一个htaccess文件,比如自己手动编辑,好处是非常灵活、功能强大,但坏处是很容易出错,我们强烈建议用本站的工具自动生成这个文件;另一种途径是通过空间里的控制面板进行自动编辑,这种方法比较死板,但不会因为人为原因出错,除非设置错了。

比如CPanel控制面板中,在Domain>Redirects里面,直接选择相应的选项即可。下面我们来详细讨论一下如何手动编辑这个htaccess文件:

务必注意:在编辑之前请备份原来的htaccess文件,以免造成损失。

1、出于SEO考虑,将kuphp.net重定向至www.kuphp.net。本站就使用了这种重定向的方法避免页面权重分散。

一旦选择了带WWW的为主域名,今后就不要随意更改,方法如下:

RewriteEngine On RewriteCond %{HTTP_HOST} !^www.kuphp.net$ [NC]

RewriteRule ^(.*)$ http://www.ssffx.com/$1 [L,R=301]

上面这一句话是从反面来写的:如果域名不是带WWW的,就统一301跳转到带WWW的域名中去

2、如果需要将域名从www.kuphp.net跳转到kuphp.net,则可以使用一下代码:

RewriteEngine On RewriteCond %{HTTP_HOST} !^kuphp.net$ [NC]

RewriteRule ^(.*)$ http://ssffx.com/$1 [L,R=301]

3、如果需要变更域名,即将老域名换成全新的域名,但是网页内容与结构不变,则可以使用以下代码来实现:

RewriteEngine On

RewriteBase / RewriteCond %{HTTP_HOST} !ssffx.com$ [NC]

RewriteRule ^(.*)$ http://ssffx.com/$1 [L,R=301]

如果是带WWW的域名间跳转,则以此类推,在域名前加上WWW即可。

一般来说,以上这些是网站建设过程中非常常用的几行代码。这些代码对Google非常适用,Google很快就会按照你的意愿将收录的网址改变过来,并且如果换了域名,还能保留以前域名的PR值。

htaccess 404错误页面的自定义

估计所有类型的页面里,404错误页面是见得最多的一个页面了,冷不防出现个冰冷的404,用户体验非常差,也会给SEO带来不好的影响。一个好的404错误页面不仅可以引导用户至正确的页面,也会给人一种赏心悦目的感觉。另外,也可以通过301重定向来更好的解决该页无法找到的问题。

如果网站建立不久,就出现了什么改版、换程序等等,会在搜索引擎中产生大量的无效页面,如果不及时处理,很可能使你的站在搜索引擎中降低地位。众所周知,在Windows IIS里面,可以直接通过管理工具自定义错误文档,但这在Apache下如何实现呢?如果你用的是虚拟主机,无法自己定义,又该如何实现呢?

这个问题难不倒万能的htaccess,通过htaccess定义404错误可谓是小菜一碟,并且其它的错误类别也可以依葫芦画瓢。

一般来说,有两种方法可以自己定义404错误页面,一种是通过空间控制面板,这种方法简单易行;另一种是自己建立htaccess文件,写入定义:

ErrorDocument 404 http://www.ssffx.com/404.html

该行代码即定义404错误为404.html这个页面。其中404为错误代码,后面的网址为出现错误时需要返回的页面。我们非常建议使用完整地址,这样会减少出错的几率。另外,还有很多常用的其它错误代码也可以自己定义,如:

400 - Bad request 错误的请求

401 - Authorization Required 需要认证

403 - Forbidden directory 禁止访问

404 - Page not found 无法找到该页

500 - Internal Server Error 内部服务器错误

按照以上的格式添加进去即可。如果按照以上方法出现错误,可能是文件保存编码的问题。因此,我们建议您使用我们的工具来替您全自动完成这项工作,或者使用notepad2来编写该htaccess文件。

htaccess 伪静态的规则

利用htaccess文件可以很好的进行站点伪静态,并且形成的目标地址与真正的静态页面几乎一模一样,如abc.html等,伪静态可以非常好的结合SEO来提高站点的排名,并且也能给人一种稳定的印象。

由于伪静态必须要完全根据不同的站点进行不同的设置,因此,我们仅能简单介绍其原理,给出几个常用程序的示例:

若要通过htaccess使用伪静态,则必须空间商支持Rewrite模块,该模块负责URL的重写。否则即便是设置好了,也无法使用,并且还有可能出现500错误。

下面是Discuz的伪静态设置文本:

# 将 RewriteEngine 模式打开

RewriteEngine On

# Rewrite 系统规则请勿修改

RewriteRule ^archiver/((fid|tid)-[0-9]+\.html)$ archiver/index.php?$1

RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2

RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ viewthread.php?tid=$1&extra=page\%3D$3&page=$2

RewriteRule ^space-(username|uid)-(.+)\.html$ space.php?$1=$2

RewriteRule ^tag-(.+)\.html$ tag.php?name=$1

以下是Phpwind的伪静态设置文本:

RewriteEngine On RewriteBase / RewriteRule ^(.*)-htm-(.*)$ $1.php?$2

RewriteRule ^(.*)simple/([a-z0-9\_]+\.html)$ $1/simple/index.php?$2

此外,还有很多种不同的规则,如果想制定出适用于自己站点的伪静态规则,必须熟悉网站结构和正则表达式。

htaccess在线生成工具用法大全 (转)的更多相关文章

  1. 漂亮的CSS按钮样式集以及在线生成工具

    以前我们制作一样带带阴影.圆角或3D感的按钮都需要用图片来制作,但CSS3出来后就可以不用图片了,由于是代码写的按钮样式,在Retina上浏览依然清晰美观.虽然不错,但我们写一个阴影+质感的按钮还是挺 ...

  2. canvas-js贝塞尔曲线代码在线生成工具

    详细内容请点击 canvas贝塞尔曲线代码在线生成工具 可以快速生成二次.三次贝塞尔曲线的源码生成器,方便经常使用到canvas画图的同学使用,可以直接预览效果随意画出自己想要的图像. 生成源码效果预 ...

  3. canvas-js贝塞尔曲代码在线生成工具

    canvas贝塞尔曲代码在线生成工具 可以快速生成二次.三次贝塞尔曲线的源码生成器,方便经常使用到canvas画图的同学使用,可以直接预览效果随意画出自己想要的图像. 生成源码效果预览: canvas ...

  4. CSS3 Maker提供了10个最为常用的CSS3属性在线生成工具

    CSS3 Maker提供了10个最为常用的CSS3属性在线生成工具,比如说border-radius.gradient.transfrom.animation.transition.rgba.text ...

  5. FilterFactory是一款将图片转换成SVG的在线生成工具。

    FilterFactory是一款将图片转换成SVG的在线生成工具. FilterFactory 彩蛋爆料直击现场 FilterFactory是一款将图片转换成SVG的在线生成工具.

  6. excel制作折线图太麻烦?试试这些折线图在线生成工具

    折线图是以折线的上升或下降来表示统计数量的增减变化的统计图,叫作折线统计图.用折线的起伏表示数据的增减变化情况,不仅可以表示数量的多少,而且可以反映数据的增减变化情况.并且折线图也是目前最方便的一种统 ...

  7. model 在线生成工具

    记录一个在线的model生成工具 快捷开发  so easy http://modelend.com

  8. 两款CSS3样式可视化在线生成工具

    CSS3随着浏览器的升级已经被越来越广泛的运用,合理的运用CSS3可以使你的网站更加美观,并且之前只能用js才能实现的效果也已经可以直接用 CSS3来实现.但是虽然如此,很多浏览器对CSS3的支持还都 ...

  9. android findVIewById()在线生成工具

    今天突然发现一个好工具,能够依据你输入的XML布局文件,自己主动生成findViewById的代码.还支持android annotation的注解方式.真是太棒了.由于我正是使用androidann ...

随机推荐

  1. SpringMVC拦截html页面访问

    在 web.xml 配置文件 原本的前端控制器后面加一个 servlet-mapping 即可简单解决 虽能解决 html 访问的问题,但不清楚是否对后面的操作产生何种影响 <servlet&g ...

  2. Codeforces Round #631 (Div. 1) A-C

    在 \(\text{Div. 2/3}\) 混了一个多月后,四个号终于都上紫了,也没用理由不打 \(\text{Div. 1}\) 了.这是我人生中的第一场 \(\text{Div .1}\) ,之前 ...

  3. JavaScript:常用的一些数组遍历的方法

    常用的一些遍历数组的方法: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  4. uni-app中组件的使用

    组件基本知识点: uniapp中:每个页面可以理解为一个单页面组件,这些单页面组件注册在pages.json里,在组件关系中可以看作父组件. 自定义可复用的组件,其结构与单页面组件类似,通常在需要的页 ...

  5. 安全声明标记语言SAML2.0初探

    目录 简介 SAML的构成 SAML的优势 SAML是怎么工作的 SP redirect request; IdP POST response SP POST Request; IdP POST Re ...

  6. 七、TestNG传递参数2

    数据提供者本身可以接受两个类型的参数:Method和ITestContext 在创建@DataProvider方法是可以有四种格式如图: 第一种在上一篇中有学到 1-Methode参数使用 @Data ...

  7. day109:MoFang:好友列表显示&添加好友页面初始化&添加好友后端接口

    目录 1.好友列表 2.添加好友-前端 3.服务端提供添加好友的后端接口 1.好友列表 1.在用户中心页面添加好友列表点击入口 html/user.html,用户中心添加好友列表点击入口,代码: &l ...

  8. Python SQLALchemy框架

    SQLALchemy SQLALchemy是Python中的一款优秀的ORM框架,它可以作用于任何第三方Web框架,如flask,tornado等框架. SQLALchemy相较于DjangoORM来 ...

  9. Kafka Producer TimeoutException

    基本需求 程序读取HDFS上的日志发送至Kafka集群 由于日志量较大 每小时约7亿条+ 采用多线程 多producer实例发送 TPS 可达到120W+ 修改前Producer配置 val prop ...

  10. [日常摸鱼]bzoj2463 [中山市选2009]谁能赢呢?

    题意:两个人在$n*n$的棋盘上玩游戏,一开始棋子在左上角,可以上下左右的走到没有走过的地方,最后不能走的那个输,两个人都采取最优决策问哪个赢 猜结论!$n$为偶数则先手赢,否则后手赢. 考虑用$1* ...