当前位置:首页 > SEO > 网站 > 正文内容

网站伪静态生成代码,伪静态网页

网站9802023-02-05 11:58:07
查看本文收录: 查看是否已被百度收录 百度 查看是否已被搜狗收录 搜狗 查看是否已被360收录 360

文章目录一览

怎么设置网站伪静态?

网站伪静态生成代码,伪静态网页 第1张

所谓伪静态就是通过一定的技术手段,将原先一条不存在的URL地址映射到已存在的文件上,其目的是实现动态网页内容的静态化,提高搜索引擎收录率。

方法/步骤:

1、IIS 7.0以上服务器

微软IIS 7.0以上版本完全重写了IIS的内核结构,采用模块化的设计构架,URL重写也成为可选安装的模块之一。朝暮数据的全部虚拟主机都安装了URL重写模块,因此客户可以通过轻松的配置web.config文件来实现伪静态功能。

下面是实现第一段所述伪静态规则的web.config代码。

?xml version="1.0" encoding="UTF-8"?configuration    system.webServer        rewrite            rules                rule name="已导入的规则 1"                    match url="product/([a-z]+)/([0-9]+)" ignoreCase="false" /                    action type="Rewrite" url="product.aspx?category={R:1}amp;id={R:2}" appendQueryString="false" /                /rule            /rules        /rewrite    /system.webServer/configuration

2、Apache服务器

Linux系统下的Apache服务器在伪静态设置方面比较简单。由于Apache的mod_rewrite模块默认就是开启的,所以站长只需在空间下上传正确的.htaccess配置文件即可。下面也给出实现上述伪静态功能的规则代码。

RewriteEngine onRewriteRule product/([a-z]+)/([0-9]+) product.php?category=$1id=$2

3、IIS 6.0服务器

在IIS 6.0环境下,无论是ASP、ASP.NET或者是PHP程序,我们都可以借助第三方的Rewrite组件来实现静态化,点此下载组件。

将该组件下载到服务器的C盘,解压后对目录设置权限,赋予Users组读取和运行权限。

4、打开该目录下的httpd.ini文件,这里是伪静态规则设置的核心。比如我们要实现上述功能,可以这样编写规则代码。

[ISAPI_Rewrite]了;Id=183Fid=t3:65:3typefid=65

RewriteRule ^/product/([a-z]+)/(\d+)\?*(.*)$ /product.aspx\?category=$1id=$2

5、下面就是将该组件配置到IIS中了。打开网站属性,点击ISAPI筛选器选项卡,再点击添加按钮。

6、在对话框中,输入筛选器名称,如rewrite,然后定位到我们之前解压下来的可执行文件Rewrite.dll上。

至此,基于IIS 6.0的伪静态配置完毕。如果有多个站点,那么就复制同样的Rewrite目录,然后定位到不同目录中的Rewrite.dll即可。如果要修改规则,只需修改httpd.ini文件,保存后即时生效,无需重启IIS。

ASP.NET Routing

.NET框架从4.0版本起开始支持Routing功能,如果您的代码是ASP.NET编写的,则可以考虑使用这种静态化方式。这种方式的好处就是无需在服务器上做配置,并且伪静态的URL地址和整个代码是天然一体的,代码中可以自动生成静态化URL,避免了在.htaccess/web.config模式下,一旦修改了伪静态规则,还要修改代码中的静态化网址的麻烦。

如何在应用PHP代码编写伪静态

以nginx为例,下面是一种解决方案:

1、在nginx配置文件中加上如下配置:

123if (!-f $request_filename) { rewrite ^/static/([^\.]*)\.html$ /dynamic/proc.php?file=$1 last;}

这样,当客户端访问的静态文件 /static/xxxx.html不存在时,就会自动访问

/dynamic/proc.php.

2、在/dynamic/proc.php中,经过相应的处理后,生成页面内容,既返回给客户端,同时也保存为文件 /static/xxxx.html

3、客户端再次访问

/static/xxxx.html时,因为此时文件已经存在,nginx就会直接返回页面,不用再访问php处理了。

4、后台做一个定时器(或者其他触发机制),定期删除已经过期的静态文件。

PHP伪静态写法附代码

比如这个网页

其实处理的脚本是soft.php 参数为1,100,8630

相当于soft.php?a=1b=1=100c=8630 只不过这样的URL太难记。搜索引擎也不喜欢。

真静态只是完全生成了HTML。

客户端访问的时候直接输出。不用脚本解释。在流量非常大的时候(比如每天有上百万的访问量的时候)会起到很好的效果。也就是说服务器端实实在在的存在这个HTML页面。

当然在你网站的流量没有那么大的时候。URL重写是最好的方法(个人观点,大流量的时候可以考虑负载均衡了。同样没有关系)

附URL重写的方法有很多种,APACHE,IISREWRITE。甚至PHP脚本都可以直接处理。比如上例中就是PHP脚本直接处理(该方法好处是大流量的时候直接减轻WEB伺服器的压力。PS:同样也是个人观点:

================================================

下面以程序为例讲一下PHP伪静态的程序实现方法,其实这方法我之前已经有在其它论坛社区发过

程序为例:

复制代码

代码如下:

?php

//利用server变量 取得PATH_INFO信息 该例中为 /1,100,8630.html 也就是执行脚本名后面的部分

if(@$path_info =$_SERVER["PATH_INFO"]){

//正则匹配一下参数

if(preg_match("/\/(\d+),(\d+),(\d+)\.html/si",$path_info,$arr_path)){

$gid =intval($arr_path[1]); //取得值 1

$sid =intval($arr_path[2]); //取得值100

$softid =intval($arr_path[3]); //取得值8630

}else die("Path:Error!");

//相当于soft.php?gid=1sid=100softid=8630

}else die('Path:Nothing!');

//就是这么简单了。~)

友情声明:本文内容由用户自发奉献,本站文章量较多,不能保证每篇文章的绝对合法性,若您发觉违规/侵权内容,请尽快联系我们删除。

首发网址:https://www.haohuizhi.com/seo/wz/6433.html

分享给朋友:

关于我们/ 联系我们/ 隐私政策