WordPress-将开发人员在子目录中的内部版本提升到生产/根目录

时间:2019-05-11 作者:Lloyd Banks

我最近接管了一个WordPress网站,其中的目录结构如下/public_html:

wp_config.php
/wp-admin
/wp-content
/wp-includes
...
...
...
/development 
根(生产)站点指向/public_html. 的内部/public_html, 我有一个子文件夹叫做/development. 此子文件夹单独安装了Wordpress,其目录树如下所示:

wp_config.php
/wp-admin
/wp-content
/wp-includes
...
...
...
您可以通过www.mywebsite访问此WordPress实例。com/开发。我正处于这样一个阶段,我想促进从开发建设到生产。

“WordPress”是怎么做的?它托管在可以通过cPanel访问的计算机上。我注意到,虽然您可以通过cPanel添加“附加域”和“子域”,但不能通过cPanel更改根公共目录。我希望避免在机器中使用SSHing并手动编辑httpd.conf 文件,因为这可能会导致与cPanel冲突。

理想情况下,我希望避免将所有文件一起移动,只需将Apache的根目录指向/public_html/development.

2 个回复
最合适的回答,由SO网友:Lloyd Banks 整理而成

我最终选择了.htaccessindex.php 文件,并使用它们替换相同的文件。

替换这两个文件后,打开index.php (内部/public_html) 和更新

require( dirname( __FILE__ ) . \'/wp-blog-header.php\' );

require( dirname( __FILE__ ) . \'/development/wp-blog-header.php\' );
“开发”作为子目录的名称index.php.htaccess 来自的文件。

替换上述两个文件后,转到与要升级到生产环境的构建相关联的WP管理控制台,然后单击“设置”->“常规”。查找Site Address (URL) 从中输入并更新值https://www.mywebsite.com/developmenthttps://www.mywebsite.com.

SO网友:MrWhite

。。。只需将Apache的根目录指向/public_html/development

如果你这样做了,我会认真考虑将“开发”重命名为“活”或更有意义的东西,否则会让人困惑。

然后您可以创建.htaccess 使用以下mod\\u rewrite指令将文档根目录中的所有内容重写到/live 子目录(重命名旧.htaccess 文件.htaccess-old 或者别的什么)。

RewriteEngine On

RewriteRule (.*) /live/$1 [L]
这避免了重写循环,因为.htaccess 中的文件/live 包含(开发/实时站点的)WordPress前端控制器的子目录。

您需要确保URL结构不包含/development 路径段。

这与更改文档根目录非常接近,而不需要实际更改文档根目录。

相关推荐

WordPress MULTITE.HTACCESS在旧*.php URL上导致500错误

我已经安装了一个新的多站点WordPress安装。一切正常,除了谷歌仍在抓取旧的URL(扩展名为.php)。这些URL现在显示一个500错误,这似乎是由于htaccess问题造成的,即这些URL没有命中WordPress。(我目前使用的是标准WordPress多站点htaccess代码。)RewriteEngine On RewriteBase / RewriteRule ^index\\.php$ - [L] # add a trailing slash to /wp-