【发布时间】: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、.htaccess 和 wp-config.php 文件将与所有其他文件一起放在一个 wordpress 文件夹中。但是wp-deploy 已部署到稍微不同的结构,因为它使用了 capistrano(v3)。 Wordpress 现在部署到/var/www/html/blog/current。在current 文件夹中,只有index.php、.htaccess 和wp-config.php。其余文件存在于另一个文件夹wordpress。
按照wp-deploy的建议,我已经将apache的DocumentRoot指向current文件夹。以下是相关的 Apache VirtualHost 行:
ServerName example.com
DocumentRoot /var/www/html/blog/current
这是来自wp-config.php的WP_HOME、WP_SITEURL和WP_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-deploy 在current 文件夹中生成了一个.htaccess 文件。 Here it is。我尝试删除它并访问该网站,但仍然没有运气。
由于我不太了解 php 或 apache,谁能澄清我在这里做的任何错误?
PS:我有 2 条 DNS A 记录。 '@' 和 'blog' 都指向我服务器的 ip。
【问题讨论】:
-
只需尝试进入 admin/permalinks 并再次保存,无需更改任何内容。这将在您的 .htacess 中重新创建 wp 行,并可能解决问题。
-
@GavinSimpson 不,它不起作用。
标签: wordpress apache .htaccess capistrano