网站优化本意是通过修改网站,提高网站用户体验,增加网站用户粘度,最终提升网站排名,但被大多数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,小白见解大神勿喷。。。
作者:李明