【问题标题】:Wordpress deployed through wp-deploy not accessible (but can access admin/dashboard)通过 wp-deploy 部署的 Wordpress 不可访问(但可以访问 admin/dashboard)
【发布时间】:2015-01-31 03:06:58
【问题描述】:

我正在使用 wp-deploy 将 wordpress 部署到我的服务器。部署成功。该数据库具有所有必需的表。

我可以通过以下方式访问管理页面:http://example.com/wordpress/wp-login.php。使用部署脚本末尾提供的密码,我还可以登录仪表板并与仪表板交互。

问题是,我无法访问 wordpress 主页:http://example.com。这只是“死亡的白屏”。 apache 错误日志中没有任何内容。当我访问主页时,apache访问日志有这个条目:

"GET / HTTP/1.1" 200 300 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/39.0.2171.65 Chrome/39.0.2171.65 Safari/537.36"

通常,当 wordpress 被提取并放入 /var/www/html 时,index.php.htaccesswp-config.php 文件将与所有其他文件一起放在一个 wordpress 文件夹中。但是wp-deploy 已部署到稍微不同的结构,因为它使用了 capistrano(v3)。 Wordpress 现在部署到/var/www/html/blog/current。在current 文件夹中,只有index.php.htaccesswp-config.php。其余文件存在于另一个文件夹wordpress

按照wp-deploy的建议,我已经将apache的DocumentRoot指向current文件夹。以下是相关的 Apache VirtualHost 行:

ServerName example.com
DocumentRoot /var/www/html/blog/current

这是来自wp-config.phpWP_HOMEWP_SITEURLWP_CONTENT_URL(这是根据我在部署脚本中给出的stage_url设置自动生成的。我给出的值是http://example.com):

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com/wordpress');

define('WP_CONTENT_URL', 'http://example.com/content');

/var/www/html/blog/current 中还有一个content 文件夹。它有这些目录——插件、主题、上传。我认为上面的WP_CONTENT_URL 指的是那个。

wp-deploycurrent 文件夹中生成了一个.htaccess 文件。 Here it is。我尝试删除它并访问该网站,但仍然没有运气。

由于我不太了解 php 或 apache,谁能澄清我在这里做的任何错误?

PS:我有 2 条 DNS A 记录。 '@' 和 'blog' 都指向我服务器的 ip。

【问题讨论】:

  • 只需尝试进入 admin/permalinks 并再次保存,无需更改任何内容。这将在您的 .htacess 中重新创建 wp 行,并可能解决问题。
  • @GavinSimpson 不,它不起作用。

标签: wordpress apache .htaccess capistrano


【解决方案1】:

问题是.. themes 文件夹中没有任何内容。默认主题文件存在于wordpress/wp-content/themes 文件夹中。但是wp-deploy 已将wp-config.php 文件中的WP_CONTENT_URL 修改为wordpress 文件夹之外的其他文件夹。而且它只有插件和主题的空目录。

将文件复制到新的内容文件夹后,网站就启动了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-23
    • 1970-01-01
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 2022-07-26
    • 2018-03-03
    • 1970-01-01
    相关资源
    最近更新 更多