我最近接管了一个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.
最合适的回答,由SO网友:Lloyd Banks 整理而成
我最终选择了.htaccess 和index.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/development
到https://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
路径段。
这与更改文档根目录非常接近,而不需要实际更改文档根目录。