伪静态几种做法

很多seoer都说把文件做成静态这样对搜索引擎是最好的了,但是像我们这些买别人的虚拟空间,是有限的但是又想以静态形式,如果生成真正的静态如果你的网站有1000000篇文件生成静态就要占很大的空间,这样的话增加了我们的费用,所以就出现了伪静态这个名词,伪静态有很多种做法,下面我们来一一讲解一下吧.

一 打开 Apache 的配置文件 httpd.conf 。
二 将#LoadModule rewrite_module modules/mod_rewrite前面的#去掉
三 在 httpd.conf中添加:
<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteCond %{ENV:SCRIPT_URL} (?:index|dispbbs)[-0-9]+.html
RewriteRule ^(.*?(?:index|dispbbs))-([-0-9]+).html$
$1.php?__is_apache_rewrite=1&__rewrite_arg=$2
</IfModule>

第一种就是以aa.php/aaaa_1_.htm这种形式,这种做法的好处就是在我们没有足够的权限时做的,下面看看代码.

四 要实现asp帖子URL到php帖子的映射,在 第三步的<IfModule
mod_rewrite.c>和</IfModule>之间添加:
RewriteMap tolowercase int:tolower
RewriteCond %{QUERY_STRING}
(?:boardid|page|id|replyid|star|skin)=d+ [NC]
RewriteRule ^(.*(?:index|dispbbs)).asp$
$1.php?${tolowercase:%{QUERY_STRING}}&__is_apache_rewrite=1

$html_id=isset($_SERVER[‘PATH_INFO’])?$_SERVER[‘PATH_INFO’]:”;//取得地参数$url=@explode(‘_’,$html_id);//进行处理$id=@$url[1];//得到我们所要的数据

五 保存httpd.conf并重启Apache。

例:_3_cn.html

六、mod_rewrite 简介
Rewirte主要的功能就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范。平时帮助我们实现伪静态,拟目录,域名跳转,防止盗链等等

使用上面的方法后$url[1]的值就为3,不过说一个得到值后最好判断处理一下啦,

七、mod_rewrite 规则的使用

第二种方法:Apache 伪静态

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.php100.com [NC]

一 打开 Apache 的配置文件 。二 将#LoadModule rewrite_module
modules/mod_rewrite前面的#去掉三 在 中添加:IfModule mod_rewrite.c
RewriteEngine On #RewriteCond %{ENV:SCRIPT_URL}
(?:index|dispbbs)[-0-9]+/.html RewriteRule
^(.*?(?:index|dispbbs))-([-0-9]+)/.html$
$1.php?__is_apache_rewrite=1__rewrite_arg=$2/IfModule

RewriteRule ^/(.*) [L]

RewriteEngine on
RewriteRule ^/test([0-9]*).html$ /test.php?id=$1
RewriteRule ^/new([0-9]*)/$ /new.php?id=$1 [R]

八、mod_rewrite 规则修正符

1) R 强制外部重定向
2) F 禁用URL,返回403HTTP状态码。
3) G 强制URL为GONE,返回410HTTP状态码。
4) P 强制使用代理转发。
5) L 表明当前规则是最后一条规则,停止分析以后规则的重写。
6) N 重新从第一条规则开始运行重写过程。
7) C 与下一条规则关联8) T=MIME-type(force MIME type) 强制MIME类型
9) NS 只用于不是内部子请求
10) NC 不区分大小写
11) QSA 追加请求字符串
12) NE 不在输出转义特殊字符 %3d$1 等价于 =$1

四 要实现asp帖子URL到php帖子的映射,在 第三步的IfModule
mod_rewrite.c和/IfModule之间添加: RewriteMap tolowercase int:tolower
RewriteCond %{QUERY_STRING} (?:boardid|page|id|replyid|star|skin)/=/d+
[NC] RewriteRule ^(.*(?:index|dispbbs))/.asp$
$1.php?${tolowercase:%{QUERY_STRING}}__is_apache_rewrite=1

五 保存并重启Apache。

关键字:asp 伪静态 什么是伪静态 iis 伪静态 asp.net 伪静态 php 伪静态
discuz 伪静态 apache 伪静态 phpwind 伪静态 伪静态规则 虚拟主机 伪静态

发表评论

电子邮件地址不会被公开。 必填项已用*标注