×

Emlog 博客

Emlog完美转伪靜态

投稿 投稿 发表于2016-01-20 14:17:03 浏览3849 评论1

1人参与发表评论

网站优化本意是通过修改网站,提高网站用户体验,增加网站用户粘度,最终提升网站排名,但被大多数SEO给误解,误认为改版会增加网站降权K站的风险,所以如果不是不得已的情况下,SEOER都不会随便修改网站代码!

伪静态已经不是一个新鲜的名词了,尤其是在现今SEO的炒作中。如何实现伪静态这是每个程序员都关心的问题,除非您不搞SEO。大多的伪静态都是以 Htaccess(Apache mod_rewrite)来实现的,但是一个规划不太好的网站要用Htaccess实现,需要写一大堆的代码,而还有某种原因我们不得不放弃 Htaccess,或是由于服务器不支持,或是个人偏好等等。

Emlog默认不能生成静态文件,不过好像有生成静态页面的相关插件,该插件先不研究,今天李明给大家分享一下Emlog在各种环境下的伪静态规则,大家都知道,通过伪静态可以让博客文章网址变得对搜索引擎更加友好,据网上的seoer们说,好的伪静态有利于搜索引擎优化,具体有没有博主可自己去探讨。

注:伪静态必须空间支持且在后台-设置中开启伪静态。

我的博客曾经改版过多次,网站排名不但没有下降,均有所上升,相反,那些不敢改版的人,排名却没有想象中的稳定。当然,改版也需要根据用户体验进行!

IIS6:(iis6主机请联系主机商修改规则,部分主机支持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 ('http://' . $_SERVER['HTTP_HOST'] . '/' != BLOG_URL){
        header('HTTP/1.1 301 Moved Permanently');
        header('Location:' . BLOG_URL . trim(Dispatcher::setPath(), '/'));
        exit;
}
代码粘贴到:header.php 里面,2.文章页面301跳转:
 $the_url = Url::log($logid);
if (stristr (BLOG_URL . trim(Dispatcher::setPath(), '/'),$the_url) == false){
        header('HTTP/1.1 301 Moved Permanently');
        header('Location:'.$the_url);
        exit;
}
代码粘贴到:echo_log.php 里面

3.自定义页面301跳转:
 自定义页面301跳转和文章页面301跳转代码一样
 $the_url = Url::log($logid);
if (stristr (BLOG_URL . trim(Dispatcher::setPath(), '/'),$the_url) == false){
        header('HTTP/1.1 301 Moved Permanently');
        header('Location:'.$the_url);
        exit;
}
代码粘贴到:page.php 里面
4.分类301跳转,有时候我们设置了分类别名,
 $the_url = $_SERVER["REQUEST_URI"];
$the_url = str_replace("index.php","",$the_url);
$the_url = str_replace("sort","",$the_url);
$the_url = str_replace("/","",$the_url);
//通过URL获取到当前日志ID / 别名,找了半天教程都没有、只能用这种旁门左道
$the_url = Url::sort($the_url);
if ($the_url != BLOG_URL . trim(Dispatcher::setPath(), '/')){
        header('HTTP/1.1 301 Moved Permanently');
        header('Location:'.$the_url);
        exit;
}
代码粘贴到: log_list.php 里面 即可自动301跳转到别名链接。
本博客已把动态网址转为伪静态网址了,反正我个人觉得这样有利于seo,小白见解大神勿喷。。。

作者:李明

评论列表

访客
李明 李明2016-05-09 12:34:38 · 回复 不错的方法。