wordpress通用伪静态方法最新规则
现在用wp博客的越来越多,设置伪静态对搜索引擎是必须的。其实要使用伪静态并不需要Linux主机,也不需要win主机上安装isapi_rewrite组件,wp已经很强自身就带了,下面介绍这种方法。
一、在网站根目录下创建一个 404.php 的文件,代码见最后。
二、在iis上设置404错误页指向一个URL为 /404.php 。
三、到wp后台设置固定链接为自定义的 /%category%/%post_id%.html
<?php header("HTTP/1.1 200 OK"); $ori_qs = strtolower($_SERVER['QUERY_STRING']); $pattern = '/[^;]+;[^:]+:\/\/[^\/]+(\/[^\?]*)(?:\?(.*))?/i'; preg_match($pattern, $ori_qs, $matches); $_SERVER['PATH_INFO'] = $matches[1] . '?' . $matches[2]; $_SERVER['REQUEST_URI'] = $_SERVER['PATH_INFO']; $query_args = explode('&', $matches[2]); unset($_GET); foreach ($query_args as $arg) { $the_arg = explode('=', $arg); $_GET[$the_arg[0]] = $the_arg[1]; } include('index.php'); ?>
一个漂亮的wordpress主题风格
我这风格已经用了很久了,确实也发现不少不足的地方。早就想换一个,找到了个漂亮的。
但是过于白,最近眼睛又不舒服,还是不换了,自己不习惯,已经习惯现在这个字样。
截图预览:
下载地址: /wp-content/uploads/g7_v1.rar
WordPress伪静态规则和站点布署
先说站点布署,本站主域名是www.suntw.com为了让suntw.com也能访问到,并且他的PR值也能传到主域名上,我作了个跳转,其实可以在首页代码中加上域名判断来301重定向,但WP博客的所有功能都集中在index.asp 所以只有自己考虑另建一个站点,直接在IIS上设置站点重定向至www.suntw.com 绑定的域名只填 suntw.com
博客安装在根目录,安装后去后台-设置-固定链接处选择自定义结构,输入这种形式:/%category%/%postname%.html 然后安装一些必用的插件。
因为是windows主机,所以要手工加载isapirewrite的组件,加载后编辑规则如下:
(以下规则称不上完美,能满足大部分功能,我会不断更新,详见内页。
GOOGLE优化插件
点击下载:WordPress Google XML Sitemaps WordPress Plugins
这个插件能自动生成用于GOOGLE的XML插件,提升PR有用处哦,我最近准备还加点GOOGLE的广告上去,看看有没效果呵呵。
另外的看下面:
XML 地图生成器 3.1.9(google)
下载:http://downloads.wordpress.org/plugin/google-sitemap-generator.3.1.9.zip
Baidu Sitemap Generator(百度的地图生成器)
下载:http://downloads.wordpress.org/plugin/baidu-sitemap-generator.zip
WP Keyword Link(关键字链接)
下载:http://downloads.wordpress.org/plugin/rejected-wp-keyword-link-rejected.zip
给WP博客加验证码防止恶意评论
这两我的网站出现了上万ip,流量都快搞没了,原因是QQ空间中引用了存在本站的mp3背景音乐,今天登录博客后台显示2万多评论,全是垃圾评论。
若不想关闭评论就想办法加验证码,教程如下:(注意代码中的中文若无法显示就改成英文的)
编辑博客根目录下的wp-comments-post.php文件,在67行处加上代码:
1 2 3 4 5 6 7 8 | if ( !$user->ID ) { $a = trim($_POST[a]); $b = trim($_POST[b]); $sub = trim($_POST[sub]); if((($a+$b)!=$sub)|| empty($sub)){ wp_die( __('错误: 请输入正确的算术题结果.') ); } } |
到当前使用的模版根目录中(如\wp-content\themes\inove),编辑 comments.php 在textarea标签(位置合适就行)后添加代码:
1 2 3 4 5 | <p><? $a=rand(0,5); $b=rand(0,5); ?> <input type="text" name="sub" tabindex="4" id="sub" size="22"> <input type="hidden" name="a" value="<?=$a?>" /> <input type="hidden" name="b" value="<?=$b?>" /> <label for="sub"> 验证码:<span class="red"><?=$a?>+<?=$b?>=?</span> (*)</label></p> |
wordpress伪静态规则postname版
本来想把博客移到blog目录并关闭伪静态,但发现百度和谷歌收录了很多,哎。以前写的规则又找不到了,这次记下来方便用。
首先固定链接那儿设成:/%category%/%postname%.html
如果您是linux主机,那么什么事也不用做了,可以用,如果是win主机,就要手工设规则。
然后修改http.ini文件 将下面的代码加入即可
RewriteRule /(about|tool|host|sort)/? /index\.php\?pagename=$1
#RewriteRule /category/(.*)/(feed|rdf|rss|rss2|atom)/?$ /wp-feed\.php\?category_name=$1&feed=$2
RewriteRule /category/(.*)/page/(\d+) /index\.php\?category_name=$1&paged=$2
RewriteRule /category/(.*) /index\.php\?category_name=$1
#RewriteRule /author/(.*)/(feed|rdf|rss|rss2|atom)/?$ /wp-feed\.php\?author_name=$1&feed=$2
RewriteRule /author/(.*)/? /index\.php\?author_name=$1
RewriteRule /feed/?$ /wp-feed\.php/\?feed=rss2
RewriteRule /comments/feed/?$ /wp-feed\.php/\?feed=comments-rss2
RewriteRule /page/(\d+) /index\.php\?paged=$1
RewriteRule /tag/(.*) /index\.php\?tag=$1
RewriteRule /(.*)/(.*).html/trackback/? /wp-trackback.php?p=$1
RewriteRule /(.*)/(.*).html$ /index\.php\?category_name=$1&name=$2
RewriteRule /([0-9]{4})/([0-9]{1,2})/?([0-9]{1,2})? /index.php\?year=$1&monthnum=$2&day=$3
wp更改安装目录后附件链接失效
这是因为wp保存的是文件物理路径,并固定在文章内容字段中,没有动态调用。所以只有用SQL查询语句来替换,去phpmyadmin中执行下面这查询:
update wp_posts set post_content = replace
(post_content,'www.suntw.com/uploadfile/','www.suntw.com/blog/wp-content/uploads/')
若有必要再 wp_postmeta 表中的 meta_value 字段也替换下,我替换了下影响行数为0。
wp博客从根目录移到虚拟目录
wordpress 301重定向 同台虚拟主机整合域名
if( $_SERVER["SERVER_NAME"]=="suntw.com" ){
Header("HTTP/1.1 301 Moved Permanently");
Header("Location: http://www.suntw.com");
exit();
}
将上面的代码加在 index.php 第二行就可以啦,我Kao,再不需要rewrite和什么iis上设置了,也不要去听那些论坛中鬼家伙的话,没一个说到点。注意后面那个exit不要,就会判定为302 作弊就是等拨毛。
在此附上在线检查工具的地址:http://www.seoconsultants.com/tools/headers-batch.asp
以下是asp中的重定向代码,千万不要用response.redirect,否则等拨毛。
if Request.ServerVariables("SERVER_NAME")="suntw.com" then
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.suntw.com"
end if
没有白熬夜,睡觉