为什么必须在heroku

时间:2016-05-15 04:52:33

标签: php wordpress .htaccess heroku

我有一个现有的WordPress网站,可以在本地和在线服务器上正常运行。我只想将我的网站移到Heroku。 我已经通过跟随this教程部署到Heroku。

但是,当我访问myappname.herokuapp.com时,它会要求我重新安装WordPress。我该如何解决这个问题?

我删除了/wp-admin/import.php/wp-admin/install.php/wp-admin/install-helper.php/wp-admin/upgrade.php/wp-admin/upgrade-functions.php

/wp-config.php:

/** This should point to the app directory */
define('WP_SITEURL', "http://" . $_SERVER["HTTP_HOST"]);
/** This is the URL your visitors will see */
define('WP_HOME', "http://" . $_SERVER["HTTP_HOST"]);
define( 'WP_CACHE', true );
define( 'WPLANG', 'vi_VI' );
$url = parse_url(getenv('DATABASE_URL') ? getenv('DATABASE_URL') : getenv('CLEARDB_DATABASE_URL'));
/** The name of the database for WordPress */
define('DB_NAME', trim($url['path'], '/'));
/** MySQL database username */
define('DB_USER', $url['user']);
/** MySQL database password */
define('DB_PASSWORD', $url['pass']);
/** MySQL hostname */
define('DB_HOST', $url['host']);
/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');
/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

/ htaccess的:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

1 个答案:

答案 0 :(得分:0)

首次部署到Heroku时,数据库将为空白,与本地安装的数据库或您正在使用的其他在线服务器不同。由于Heroku数据库是空白的,WordPress会要求您再次执行安装。

我建议如下:

  1. 从头开始再次执行部署。
  2. 删除您已经完成的任何文件 a)按照安装步骤进行操作

    b)或者将您现有的数据库导入到heroku数据库中(超出了本答案的范围)