服务热线:

021-51085186

021-51085186
2015-12-03

网站建设中你必须知道的Apache服务器伪静态规则htaccess

您现在的位置:首页 » 文章中心 » 网站建设

       PHP网站建设最常用的服务器是Apache,网站使用伪静态可利于SEO优化,在Apache服务器使用伪静态就必须用到htaccess,而htaccess使用的是正则表达式规则和一些特殊语法,不管你是一个网站开发者、SEO优化师还是一个网站管理员,理解htaccess规则对你都是非常必要的。以下方维网站建设(www.szfangwei.cn)为你一一讲解。

 

       下图是一个网站的htaccess规则:

 

第一句RewriteEngine on  表示开启伪静态

RewriteCond 表示应用的规则前提  可以是 %{HTTP_USER_AGENT} 表示访问浏览器;%{HTTP_HOST} 表示访问主机域名

RewriteRule 表示应用的具体规则跳转,主要是正则表达式

中括号中的L 表示规则执行到此为止,不再执行后面的规则

R=301 表示301跳转(301跳转在SEO优化中是非常重要而且经常使用到的,尤其是网站改版中URL变化中使用)

QSA表示强制重写引擎在已有的替换串中追加一个请求串,而不是简单的替换。 如果需要通过重写规则在请求串中增加信息,就可以使用这个标记。

PT表示强制重写引擎将内部结构request_rec中的uri字段设置为 filename字段的值,主要用于混合使用mod_alias和mod_rewrite

NC 表示忽略大小写

 

RewriteCond %{REQUEST_FILENAME} !-f   //如果文件存在,就直接访问文件

RewriteCond %{REQUEST_FILENAME} !-d   //#如果目录存在就直接访问目录

RewriteCond %{REQUEST_URI} !^.*(/.css|/.js|/.gif|/.png|/.jpg|/.jpeg)$ //#如果是这些后缀的文件,就直接访问文件

以上三个规则都不再使用下面的伪静态规则。

 

RewriteCond %{HTTP_HOST} ^szfangwei.cn/?$ [NC]

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

这个是SEO中为了避免域名szfangwei.cn和www.szfangwei.cn分散权重,统一跳转到www.szfangwei.cn中

 

RewriteRule ^index.asp$ / [L,R=301]

RewriteRule ^index.php$ / [L,R=301]

这两句也是为了避免分散权重,让index.asp和index.php都301跳转到主目录。

 

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

这句是用于Thinkphp伪静态跳转