此代码是否会导致“500”内部服务器错误?

时间:2010-03-30 15:31:19

标签: php wordpress

我的一些客户报告他们最近收到“500”内部服务器错误。我相信它可能是由他们使用的各种插件引起的,但每次托管公司(多个主机)都说必须更换htaccess文件才能解决问题。

我从我的自定义主题提交以下代码,因为它是我触发htaccess写入的唯一地方。我想确保这里没有任何问题可能导致可能导致500错误的问题......

if (file_exists(ABSPATH.'/wp-admin/includes/taxonomy.php'))
    {
    require_once(ABSPATH.'/wp-admin/includes/taxonomy.php');
if(get_option('permalink_structure') !== "/%postname%/" || get_option('mycustomtheme_permalinks') !=="/%postname%/")
    {
    $mycustomtheme_permalinks = get_option('mycustomtheme_permalinks');
    require_once(ABSPATH . '/wp-admin/includes/misc.php');
    require_once(ABSPATH . '/wp-admin/includes/file.php');
    global $wp_rewrite;
    $wp_rewrite->set_permalink_structure($mycustomtheme_permalinks);
    $wp_rewrite->flush_rules();
    }
    if(!get_cat_ID('topMenu')){wp_create_category('topMenu');}
    if(!get_cat_ID('hidden')){wp_create_category('hidden');}        
    if(!get_cat_ID('noads')){wp_create_category('noads');}
    }
if (!is_dir(ABSPATH.'wp-content/uploads')) {
    mkdir(ABSPATH.'wp-content/uploads');
}

代码首先检查以确保taxonomy.php存在,因为wp_create_category调用需要它。它还检查现有的永久链接设置,如果它们没有根据我的预期参数设置,我执行你在那里看到的永久链接重写代码。它的代码,我相当肯定,创建了一个htaccess编辑。我想确保这是一个很好的编程,不太可能导致零星的内部服务器错误......

编辑:在一个案例中,用户在他的所有网站中都有以下插件......

  • AIO SEO
  • cbnet ping optimizer
  • 联系表格7
  • 简易隐私政策
  • Exec的-PHP
  • 免费流量获取SEO插件
  • google sitemap generator
  • 漂亮的链接
  • ReviewAZON
  • 孤立
  • StatPress ReLoaded
  • Web Traffic Genius Pro
  • WP DB备份

1 个答案:

答案 0 :(得分:0)

如果wp-content不可写,mkdir调用肯定会失败,永久链接编辑也是如此 - 如果.htaccess不可写,那么它将失败并可能导致500错误(取决于Wordpress如何实现这一点)。另一个可能的问题可能是你的.htaccess更改破坏了.htaccess中其他一个插件所需的其他设置。

在任何情况下:查看Apache错误日志并记录PHP错误应该足以找到问题的实际来源。