存档

文章标签 ‘wordpress’

更改了wordpress的固定链接格式后做301重定向

2010年3月11日 2 条评论

最近总是感觉以前的URL格式太丑陋,太过杂乱。于是乎一时冲动就把URL格式给改了。
当然改了URL的首要事情就是要把以前就的url给重定向到新的URL上来,以减少搜索引擎方面的损失。
对 于wordpress来说你可以很容易的做的这一点。一个名叫Dean’s Permalinks Migration的插件可以让你很方便的帮你把原来的链接重定向过来。Dean’s Permalinks Migration安装使用很简单,只需激活,先设置旧的WordPress伪静态格式,然后再WordPress固定链接设置中填写新的地址格式即可。 类似插件还有Advanced Permalinks,好像功能更加强大点。

很不幸的是我不是一个wordpress插件的爱好者,我的博客力求使用尽量少的第三方插件。这里我来重点谈谈apache 的.htaccess文件设置301重定向。其实我对这.htaccess文件一点也不懂,根本不知道怎么写规则,于是就到apache官网上现学现卖 了。

如何重定向以及关于正则表达式的使用apache的文档讲的很详细,http://httpd.apache.org/docs/2.2/rewrite/rewrite_intro.html

http://httpd.apache.org/docs/2.2/urlmapping.html

我就简单的说说正则表达式,
^   –> 匹配字符串的开始
$   –> 匹配字符串的结束
\s  –> 匹配任意的空白符
\w –> 匹配字母或数字或下划线或汉字
\b  –> 是正则表达式规定的一个特殊代码代表着单词的开头或结尾,也就是单词的分界处。
\d  –> 匹配一位数字
\W(大写) –> 匹配任意不是字母,数字,下划线,汉字的字符
\S (大写) –> 匹配任意不是空白符的字符
\D (大写) –> 匹配任意非数字的字符
\B(大写) –> 匹配不是单词开头或结束的位置
” . “   –> 匹配除了换行符以外的任意字符
” * “   –> 它代表的不是字符,也不是位置,而是数量——它指定 * 前边的内容可以连续重复使用任意次以使整个表达式得到匹配。” .* “连在一起就意味着任意数量的不包含换行的字符
” + “   –> 是和 ” * ” 类似的元字符,不同的是 * 匹配重复任意次(可能是0次),而 + 则匹配重复1次或更多次。
” ? “   –> 重复零次或一次
” – “  –> 不是元字符,只匹配它本身 连字符(减号)

需要说明的是我以前的url形式/%postname%-%post_id%.html,现在的使用的是/archives/%post_id%。那么我以前的网址是www.99xunle.com/xunlei-guanggao-660.html现在变为了www.99xunle.com/archives/662

那么.htaccess写法如下:

RedirectMatch 301 ^/(.+)-(\d+)\.html$ /archives/$2

同样我的tag,author,category,date 目录也变了就做个目录定向。

Redirect /author /archives/author
Redirect /date /archives/date
Redirect /category /archives/category
Redirect /tag /archives/tag

更改了url,做了重定向Google已经有了反应,百度却貌似没反应,还是做好被百度冷淡20多天的心理准备吧。

分类: WP相关 标签: , ,

解决godaddy空间无法自动发送wordpress评论通知方法

2010年3月8日 1 条评论

我在godaddy空间安装的wordpress不知道为什么不能自动发送评论通知邮件,真是让人抓狂啊!

既然本地不能发,然后我就尝试外发smtp服务,安装了Configure SMTPShiftThis.net | Swift SMTPXPertMailerWP-Mail-SMTP等 等所有能搜索出来的关于wordpress外发smtp服务的插件,一个一个的安装,然后一个一个的失败。真是让人心灰意冷啊,国内和国外提供smtp服 务的邮箱比如gmail、foxmail、163、126、QQmail我都尝试了一下但是无一例外全部都失败了。。。。

最后把google转到google 英文,看看国外有没有高人,终于不负有心人,在wp-mail-smtp插件作者的博客,找到了解决方法。

1.首先安装WP-Mail-SMTP插件

2.进入后台激活插件,按下图所示参数设置:

由于我安装的是最新版的测试版,目前最新版本可能没有SMTP Port这个选项,没有关系,smtp默认端口即为25.

按上诉参数设置好后,点击保存,然后测试一下发送邮件,看看你是否成功了呢。

分类: 琐碎收藏 标签: ,

WordPress 您没有足够的权限访问这个页面 问题解决方法

2010年3月3日 2 条评论

在WordPress 中出现您没有足够的权限访问这个页面一般由于修改数据库前缀引起的原因是有些前缀信息在usermeta、 user_roles’表中有用到,修改这些设置里的前缀记录。

分类: WP相关 标签:

godaddy空间安装WordPress出现500错误的解决办法

2010年3月1日 3 条评论

1、新建记事本,命名为web.config

2、将如下代码粘贴到web.config

<?xml version=”1.0″ encoding=”UTF-8″?>
<configuration>
<system.webServer>
<httpErrors errorMode=”Detailed” />
<asp scriptErrorSentToBrowser=”true” />
</system.webServer>
</configuration>

3、将web.config上传到WordPress根目录

分类: WP相关 标签: , ,

WordPress出现Fatal error: Allowed memory size of 33554432 bytes exhausted错误的解决办法

2010年2月27日 没有评论

很多朋友在升级WordPress2.8的时候突然发现会有这个错误:Fatal error: Allowed memory size of 33554432 bytes exhausted。 主要原因在于随着WordPress的版本升级,WordPress本身占用的内存也越来越庞大,原本WordPress默认调用的32M内存已经不够 了。 解决方法是修改WordPress目录下面的wp-settings.php文件,将define(’WP_MEMORY_LIMIT’, ‘32M’);`中的32改成64,一般修改后即可生效,问题就可以解决了。 PS:前提是你所使用的WordPress主机最大内存支持64M,如果你按照上面的方法修改无效,请联系你的主机商或者更换为BlogHost专业博客 主机。 类似的错误还有Fatal error: Allowed memory size of 16777216 bytes exhausted

http://bloghost.cn/2009/06/30/fatal-error-allowed-memory-size-of-33554432-bytes-exhausted/

分类: WP相关 标签:

好用的 Adsense 插件推荐:Whydowork Adsense

2010年2月8日 2 条评论

在网站上投放 AdSense 广告有两种方法,一种是直接在网页文件中加入 Adsense 代码,另一种是使用插件来实现。今天主要介绍 Whydowork Adsense 这款基于 wordpress 的插件,通过它你不需要修改任何主题文件,就可以很方便的在网站上展示广告,设置界面也非常简单并易于维护。

除了一般广告插件拥有的功能外,我很喜欢它的一点就是它可以设置发布超过多少天的文章显示一种特殊的广告。举例来说,你发布一篇新文章的时候使用的 是 468×60 大小的广告,过了一个月后,随着文章发布时间的延长,你的文章很可能在搜索引擎中已经取得了良好的排名,并且有很多网友去访问它,这时候你就可以设置在 30天后通过此插件将广告自动更换为点击率更高的 336×280 的广告。投放过 Adsense 广告的人都明白,336×280 大小的广告比 468×60 大小的广告点击率要高的多。

还有个比较有用的功能,使用 Whydowork Adsense 插件可以禁止让某些页面或文章显示广告,你只需要在后台管理中得到页面或文章的 ID 号,输入到表单即可实现。

插件使用方法
1.下载 Whydowork Adsense 插件,官方语言为英文版本。

2.安装并激活即可开始工作,经测试此插件兼容至 WordPress 2.8.4版本。

3.此插件支持 Widgets ,你可以在外观 -> 小工具页面看到插件自动生成的 Whydowork Adsense 小工具,你可以拖放到侧边栏,在你博客的侧边栏上显示相应的 Adsense 广告。

分类: WP相关 标签: ,

WordPress 多域名绑定的方法

2010年1月30日 4 条评论

编辑根目录下的 wp-config.php 文件,添加以下代码:

$home = 'http://'.$_SERVER['HTTP_HOST'];
$siteurl = 'http://'.$_SERVER['HTTP_HOST'];
define('WP_HOME', $home);
define('WP_SITEURL', $siteurl);

我们知道,PHP 中的 $_SERVER['HTTP_HOST'] 用于获得来路域名。这样,就能根据来路为 WP_HOME 和 WP_SITEURL 变量赋值,实现 WordPress 多域名绑定。
为防止域名改变而造成图片不可用,必须在控制面板的“设置 (Options) – 杂项 (Misc)”里将“文件的完整 URL 地址”设为 “wp-content/uploads”(与“默认上传路径”参数相同)。

分类: WP相关 标签:

WordPress搬家Win主机301重定向教程

2010年1月29日 没有评论

只需把wp根目录下wp-blog-header.php文件修改一下即可:
在〈?php后面换行加上以下代码

if (strtolower($_SERVER['SERVER_NAME'])!=’wuleilei.net’)
{
$URIRedirect=$_SERVER['REQUEST_URI'];
if(strtolower($URIRedirect)==”/index.php”)
{
$URIRedirect=”/”;
}
header(‘HTTP/1.1 301 Moved Permanently’);
header(‘Location:http://wuleilei.com’.$URIRedirect);
exit();
}
分类: WP相关 标签: , ,

Win服务器下设置WordPress固定链接伪静态

2010年1月29日 没有评论

以下就是怎么实现的:
只要主机支持自定义404页面,无需安装插件,就能让Win主机像Linux 那样,方便使用WordPress的固定链接为静态化地址格式。

<?php
header("HTTP/1.1 200 OK");
$ori_qs = $_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');
?>

设置固定链接(Permalink)伪静态步骤:
1. 将以上代码保存为 404.php,并上传至主机根目录。
2. 设置 404 自定义错误页为 404.php。
3. 进入 WordPress 控制面板,设置(Options)- 固定链接(Permalinks),选择固定链接格式。

分类: WP相关 标签: , ,

备份wordpress数据库的七种方法

2010年1月13日 2 条评论

第一种:直接复制MySQL数据库中的数据表。

这种方法是最安全和完美的,但前提是你必须拥有服务器端足够的权限,比如服务器在本地,或者自己就是网络管理员。这种方法也是最简单的,直接复制整个数据库,放在与网络不联通的本地硬盘中,一旦需要恢复数据时,将整个数据库拷贝至MySQL数据库即可。

第二种:使用RSS备份与RSS导入工具。

使用WordPress的博客们应该都知道在管理后台中的导入菜单中有很多选项,但一般默认的总会有这一项:“RSS—- 从RSS feed导入文章”。对,就是它了,RSS是导入文章的简单又实用的工具,如果在没有更好的条件下使用此工具不失为一种恢复数据的捷径。但缺点是目前的 RSS导入功能仅支持文章(Post)的导入,却不支持留言(Comments)的导入。这是比较缺憾的一点。

具体使用方法是这样的。先备份自己博客的RSS文件;进入管理后台,进入[选项]–>[阅读],在同步Feeds中的显示最近文章中填入较大 的数字,比如你的文章共100篇,那么你填入的数字就一定要大于100,每篇文章显示选择[全文]。一般博客文章(Post)的RSS地址是这样 的,http://your-wordpress-blog-url/feed/,而留言(Comments)的RSS地址是这样的,http: //your-wordpress-blog-url/comments/feed/。OK!在浏览器点中输入要备份的RSS地址,你会得到一个看上去有 点杂乱的网页,密密码码的文字,这些你不要去管它,将此网页另存为一个xml文件,第一步就完成了。然后打开你的另一个博客,选择[导入]菜单,点击 RSS导入工具连接,会显示一个导入RSS的界面,点击选择,选择你刚才备份好的那个xml文件,再点击[导入]按钮。OK!不出意外的话,应该会出现一 长串的导入成功提示。RSS的导入速度很快,一会儿的功夫你的博客就已经完成了数据转移的工作。

第三种:使用WordPress to WordPress插件。

这个插件共有两个文件,一个是wordpress.php文件,把它放在WordPress目录的wp-admin/import文件夹中;另一个 是wp-xmlmigrate.php文件,这是一个插件,把它放在WordPress目录的wp-content/plugins文件夹中,然后在管理 后台的插件页中激活此插件。

使用方法是这样的。当插件被激活后,在菜单[管理]中会出现一个WP-EXPORT页面。通过此页面你可以备份WordPress数据,导出一个 xml文件,这一点跟RSS有点类似,但不同的是,通过此备份可以同时将文章(Post)和留言(Comments)一起导出。然后就是导入了,打开另一 个博客的管理后台,进入[导入]菜单,你会发现有一个wordpress导入工具,点击进入此工具,选择刚才备份的那个xml文件,选择[导入]。OK! 不一会儿,你的文章(Post)和留言(Comments)已经全部导入新博客了。

另外,使用这种方法导入数据时不会覆盖以前的数据,而只会合并数据。这一点也是比较好的一个特点。

第四种:使用phpMyAdmin

phpMyAdmin对恢复文件有50M的大小限制,但可以支持gzip,zip压缩格式。以85%的压缩率计算,最大可以支持325M的数据库。

第五种:使用MySQLDump

mysqldump –add-drop-table -h mysqlhostserver
-u mysqlusername -p databasename (tablename tablename tablename) | bzip2
-c > blog.bak.sql.bz2

将数据库备份到当前目录的blog.bak.sql.bz2文件。

第六种:使用MySQL Administrator

第七种:WordPress Database Backup(数据库备份)

wordpress有很多的可扩展性,但是不像新浪,百度等大站的blog,用户只要管内容就可以了,系统有主站负责管理,极少会出现数据错误的情况

而wp需要我们自己备份数据库,WordPress Database Backup就是可以自动备份的插件。

1.老样子到http://www.ilfilosofo.com/blog/wp-db-backup下载Database Backup插件,解压上传到服务器后,后台激活。

2.后台-管理-backup

选项中可以选择备份数据库到本地计算机,服务器文件夹,或者发送到指定邮箱。

还可以设置备份的频率,一天,一周等

个人认为是不错的插件

分类: WP相关 标签: