WordPress回复评论不起作用

时间:2014-03-19 13:51:44

标签: php wordpress apache .htaccess iis-6

我们在收到"回复"时遇到了一些问题。我们的WordPress网站上的评论功能。提交评论一般工作正常,但即使我已将网址重定向到"回复"按钮看起来是正确的,它只是将其作为正常评论发布,评论部分上方的标题只是常规标题,而不是预期的"发表回复..."。它是一个自定义主题,但它设置为支持此功能,WordPress本身配置为允许线程注释下降到默认的5个级别。

以下是相关网站:http//antagonist.no

这有什么奇怪之处在于它只发生在现场环境中。我在本地设置了测试环境,其中WordPress配置了完全相同的模板配置和版本。回复功能在那里完美地运行,具有相同的URL结构和参数,并且我无法重现现场环境中正在进行的操作。

唯一的区别是托管环境:我的本地测试环境在OS X 10.9上的Apache 2.2上运行,而实时环境在Windows Server 2008 R2上的IIS 6上运行。两者都运行PHP 5.5.8。这可能是由于永久链接的URL重写? WordPress在Apache上自动执行此操作,但在实时环境中的IIS上,我们使用了一个名为ISAPI_Rewrite 3(http://www.helicontech.com/isapi_rewrite/)的插件来支持URL重写,并遵循以下规则:

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?p=$1 [NC,L]

除了评论回复之外,其他任何事情都可以正常工作。

我们可以检查或尝试的任何想法吗?

3 个答案:

答案 0 :(得分:1)

也许你需要包含来自wordpress的javascript评论,因为wordpress使用它来从父评论中获取评论ID。 尝试将此添加到您的functions.php

function add_comment_js(){
if (!is_admin()){
    if (!is_page() AND is_singular() AND comments_open() AND (get_option('thread_comments') == 1)) {
      wp_enqueue_script( 'comment-reply' );
    }
  }
}
add_action('get_header', 'add_comment_js');

答案 1 :(得分:0)

建议:尝试将永久链接结构(临时)更改为Default(如果尚未更新)。

此过程将强制Wordpress从.htaccess文件中删除重写代码。再次测试并恢复永久链接 - 测试,如果问题发生 - 那么这就是关键。

答案 2 :(得分:0)

将重写规则更改为以下内容(取自WordPress codex)修复了问题:

RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]