WordPress重度MySQL活动没有博客访问权限

时间:2011-06-08 20:23:47

标签: php mysql wordpress

我有一个特殊的设置,我通过静态XML文件向我的博客上的内容提供内容。每次在

中发布新的博客帖子时,插件都会创建静态XML

/wp-content/folder/my.xml

大。现在我通过.htaccess将我通常通过RSS feed url发送的用户重定向到这个静态文件:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
# Rewrite feed/ to Static Feed:
RewriteRule ^feed/?$ /wp-content/folder/my.xml [L,T=application/rss+xml]
</IfModule>
# END WordPress

这一切看起来很棒 - 但是看看MySQL,我的服务器用户数量非常大。这很奇怪,因为它在理论上所做的就是为它们提供静态XML。看看phpmyadmin中的进程,我看到很多:

SELECT SQL_CALC_FOUND_ROWS  wp_posts.* FROM wp_posts  WHERE 1=1  AND wp_posts.post_type = 'post' AND ...

哪个建议每次请求/ feed /?正在制作MySQL活动......为什么?

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

我相信你在正则表达式的开头或者在它上面的RewriteBase /声明中错过了/。


尝试更改您的重写规则:

RewriteBase /
RewriteRule ^(feed/?)?$ /wp-content/folder/my.xml [L,T=application/rss+xml]

答案 1 :(得分:1)

您确定仅在发布新博客帖子时生成此文件吗?无效的再生机制是我想到的唯一原因。

@Denis也正确提到,您可能无法重定向到正确的位置。用户可以为每个请求输入即时创建XML文件的路径。

编辑:

积分转到@Denis,但请尝试以下方法之一:

RewriteRule ^?feed=rss2$ /wp-content/folder/my.xml [L,T=application/rss+xml]

RewriteRule ^/?feed=rss2$ /wp-content/folder/my.xml [L,T=application/rss+xml]

答案 2 :(得分:0)

我遇到了类似的问题。

我发现有人正在直接(远程)轰炸我的MySQL数据库。 他们可能掌握了密码,不知道如何。

我通过在'safe_mode:On'中设置MySQL来解决它(使用CPanel / php.ini EZ Config)

然后我也在CPanel中更改了密码。

之后我的负担急剧减少。

希望有所帮助,

CGS


更新:问题又回来了,所以上面没有帮助。 经过一些测试后,我发现插件'WP Stats'导致了大量的数据库查询。在我停用它之后,我还没有看到任何错误。