㈠ php生成伪静态html利于seo还是直接生成静态利于SEO
PHP网站优化,动态网站生态静态页和实现伪静态是必走之路,一般采用路径伪静态和页面静态两种方面。
至于优缺点,首先,我们要明确两个概念:
1、伪静态是将动态语言的后缀通过一定的手段,转为 html后缀,服务器上实际访问的是动态的地址。这叫伪静态。蜘蛛对html后缀的网页比较友好。不少网站就采用这样的方式,这样可以欺骗蜘蛛.达到seo优化的效果。
2、生成静态,是将脚本执行过后的内容输入到文本中。这样,下次再请求,就不用服务器去处理了。而是直接返回文本中的内容。这样可以加快访问的速度。
各自的缺点:
1、伪静态访问是实时生产页面,访问量大了就会占用很大的CPU资源。影响服务器处理速度。
2、静态页生成页面,内容多时就会产生更多的磁盘碎片。
但一般企业型网站,内容本身都不多,影响都不大。
什么样的情况下用好?
1、使用联动数据的,需要调用数据库数据实时显示的,最好用伪静态。如果是超大型的网站,比方说同一个程序开发的网站数据量超过百万以上,我们还是主张不要全部采用生成静态页的方式,即使是世上最好的程序员开发出来的,性能最好的内容管理系统。因为生成静态页首页是维护起来比较麻烦,服务器里所生成的文件目录和文件都是比较多的,而且将严重耗费时间和服务器资源和性能。
2、页面简单,内容相对固定的,益用静态页。
3、适当相互结合。
一般大型门户网站都是在采用多个程序,多个服务器,多个二级域名的战略。一个网站肯定会采用很多不同类型的程序和开源程序综合使用,可以把核心的版块和栏目实现静态化。更有利于搜索引擎抓取和减轻服务器的压力。
㈡ 求助PHP伪静态,如何将动态PHP页面改为伪静态页面
伪静态实际上就是把 index.php?act=about&cid=1 将这种形式的动态路径用 about-1.html 这种形式输出,也就是说浏览器每次访问about-1.html地址能打开相应的index.php?act=about&cid=1动态网址。
伪静态的实现本质上是配置服务器进行路径转换,根据不同的服务器环境,配置方法也不太一样,PHP+iis6的话就要配置httpd.ini文件,php+iis7就要配置web.config,PHP+apache就要配置.htaccess文件(或者httpd.conf)
.htaccess(或者httpd.conf)文件的规则示例:
RewriteEngine on
RewriteRule ^/?(index|guestbook|online)\.html$ index\.php [L]
RewriteRule ^/?(eindex)\.html$ index\.php?act=$1 [L]
RewriteRule ^/?(index|guestbook|online)-([0-9]+).html$ index\.php\?p=$2 [L]
RewriteRule ^/?([a-z0-9]+)_([0-9]+).html$ index\.php\?act=$1&id=$2 [L]
RewriteRule ^/?([a-z0-9]+)-([0-9]+).html$ index\.php\?act=$1&cid=$2 [L]
RewriteRule ^/?([a-z0-9]+)-([0-9]+)-([0-9]+).html$ index\.php\?act=$1&cid=$2&p=$3 [L]
httpd.ini示例:
[ISAPI_Rewrite]
RepeatLimit 32
# Block external access to the httpd.ini and httpd.parse.errors files
RewriteRule /httpd(?:\.ini|\.parse\.errors).* / [F,I,O]
# Block external access to the Helper ISAPI Extension
RewriteRule .*\.isrwhlp / [F,I,O]
RewriteRule ^/(index|guestbook|online)\.html$ /$1\.php
RewriteRule ^/(eindex).html$ /index\.php\?act=$1
RewriteRule ^/(index|guestbook|online)-([0-9]+).html$ /$1\.php\?p=$2
RewriteRule ^/([a-z0-9]+)_([0-9]+).html$ /index\.php\?act=$1&id=$2
RewriteRule ^/([a-z0-9]+)-([0-9]+).html$ /index\.php\?act=$1&cid=$2
RewriteRule ^/([a-z0-9]+)-([0-9]+)-([0-9]+).html$ /index\.php\?act=$1&cid=$2&p=$3