伪静态已经不是什么新鲜名词了,尤其是在SEO炒作的今天。如何实现伪静态是每个程序员关心的问题,除非你不搞SEO。pseudo static大部分是用 Htaccess(Apache mod _ rewrite)实现的,但是一个规划很差的网站需要用Htaccess实现,要写很多代码。有一些原因让我们不得不放弃 Htaccess,要么是服务器不支持,要么是个人喜好等等。
Emlog 默认不能生成静态文件,但是好像有一个生成静态页面的插件。这个插件我就不研究了。今天李明就和大家分享一下Emlog在各种环境下的伪静态规则。众所周知,经历 伪静态可以让博文对搜索引擎更友好。根据网上seoer的说法,一个好的伪静态有利于搜索引擎优化。
注意:伪静态必须支持空,并在后台设置中开启伪静态。
我的博客修改了很多次,网站排名不降反升。相反,那些不敢修改的人并没有想象中的稳定。当然,改版也需要根据用户体验来进行!
IIS 6: (IIS 6主机请联系主机厂商修改规则。部分主机支持httpd.ini,请将以下代码保存为httpd.ini并上传到博客根目录)
[ISAPI_Rewrite] # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 RewriteRule /robots.txt(.*) /robots.txt$1 [L] RewriteRule /rss.php(.*) /rss.php$1 [L] RewriteRule /tb.php(.*) /tb.php$1 [L] RewriteRule /favicon.ico /favicon.ico [L] RewriteRule /xmlrpc.php(.*) /xmlrpc.php$1 [L] RewriteRule /wlwmanifest.xml /wlwmanifest.xml [L] RewriteRule /(t|m)$ /$1/ [R] RewriteRule /(admin|content|include|t|m)/(.*) /$1/$2 [L] RewriteRule /install.php(.*) /install.php$1 [L] RewriteRule /emlog_toolkit.php(.*) /emlog_toolkit.php$1 [L] RewriteRule /up(d.d.d)to(d.d.d).php(.*) /up$1to$2.php$3 [L] RewriteRule ^/$ /index.php [L] RewriteRule /(.*) /index.php/$1 [L]支持.htaccess的IIS6服务器规则:RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php/$0 [L]Emlpg设置伪静态后,访问?post = *** 还是能查看文章,这样就让一个文章出现好多不同的链接,刚刚折腾好久的代码,所有em用户通用,代码复制粘贴就好了,不需要改。使用以下代码:1.非 www 域名跳转网站解析肯定要有一个1级域名 ***.com 但是一般都用 www.***.com 这样的2级域名,用以下代码可以让访问 ***.com 自动跳转到www开头的(网页参数不变)注意:跳转的链接是以后台设置的网站首页为准。if (#39;http://#39; . $_SERVER[#39;HTTP_HOST#39;] . #39;/#39; != BLOG_URL){ header(#39;HTTP/1.1 301 Moved Permanently#39;); header(#39;Location:#39; . BLOG_URL . trim(Dispatcher::setPath(), #39;/#39;)); exit; }代码粘贴到:header.php 里面 如下图:2.文章页面301跳转:$the_url = Url::log($logid); if (stristr (BLOG_URL . trim(Dispatcher::setPath(), #39;/#39;),$the_url) == false){ header(#39;HTTP/1.1 301 Moved Permanently#39;); header(#39;Location:#39;.$the_url); exit; }代码粘贴到:echo_log.php 里面 如下图:3.自定义页面301跳转:自定义页面301跳转和文章页面301跳转代码一样$the_url = Url::log($logid); if (stristr (BLOG_URL . trim(Dispatcher::setPath(), #39;/#39;),$the_url) == false){ header(#39;HTTP/1.1 301 Moved Permanently#39;); header(#39;Location:#39;.$the_url); exit; }代码粘贴到:page.php 里面 如下图:4.分类301跳转,有时候我们设置了分类别名,$the_url = $_SERVER[quot;REQUEST_URIquot;]; $the_url = str_replace(quot;index.phpquot;,quot;quot;,$the_url); $the_url = str_replace(quot;sortquot;,quot;quot;,$the_url); $the_url = str_replace(quot;/quot;,quot;quot;,$the_url); //通过URL获取到当前日志ID / 别名,找了半天教程都没有、只能用这种旁门左道 $the_url = Url::sort($the_url); if ($the_url != BLOG_URL . trim(Dispatcher::setPath(), #39;/#39;)){ header(#39;HTTP/1.1 301 Moved Permanently#39;); header(#39;Location:#39;.$the_url); exit; }代码粘贴到: log_list.php 里面 即可自动301跳转到别名链接,如图所示:这个博客把动态URL改成了伪静态URL。反正我个人觉得这样有利于seo,不想喷。。。
本文地址:http://likinming.com/post-689.html