Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Gatsby站点部署到Wordpress子目录?_Wordpress_Reactjs_Gatsby - Fatal编程技术网

如何将Gatsby站点部署到Wordpress子目录?

如何将Gatsby站点部署到Wordpress子目录?,wordpress,reactjs,gatsby,Wordpress,Reactjs,Gatsby,我有一个Wordpress网站的“公文包”子目录,所以网站结构看起来像这样 www.sitename.com/portfolio/project-1 www.sitename.com/portfolio/project-2 www.sitename.com/portfolio/project-3 …对于“项目3”的页面,我与盖茨比建立了一个页面,并希望在那里主持。其他项目将保留为Wordpress页面,但只有“项目3”页面将与盖茨比一起构建。一个人如何着手做这件事?我想它涉及到“gatsby

我有一个Wordpress网站的“公文包”子目录,所以网站结构看起来像这样

www.sitename.com/portfolio/project-1
www.sitename.com/portfolio/project-2
www.sitename.com/portfolio/project-3
…对于“项目3”的页面,我与盖茨比建立了一个页面,并希望在那里主持。其他项目将保留为Wordpress页面,但只有“项目3”页面将与盖茨比一起构建。一个人如何着手做这件事?我想它涉及到“gatsby config.js”中的“pathPrefix”,但一旦我构建了我的页面,我该如何将其放到Wordpress站点中。这篇文章展示了如何用香草反应。。。
…但我不知道它是如何翻译成盖茨比的。在此方面的任何帮助都将不胜感激!:)

来自@fabian schultz的评论是正确的,你可以用一个函数构建盖茨比站点,然后将该站点放到子目录中

WordPress使用“虚拟”子目录,因此文件系统中不存在
/portfolio
。您可以将公文包目录更改为
/portfolio-project-1
(这样就可以使用单个文件夹而不是嵌套文件夹),也可以创建
/portfolio
目录。如果这样做,则需要从
/
目录复制
index.php
文件,然后更改包含路径

您的
portfolio/index.php
文件可能如下所示:

<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */

/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define('WP_USE_THEMES', true);

/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/../wp-blog-header.php' );

将设置为
/portfolio
并将构建的盖茨比网站上载到您的
portfolio/
目录可能就足够了。@Fabianshultz是的,但我忘了提到,portfolio页面是使用页面模板构建的,每个项目页面都是使用模板构建的。因此,FTP上没有名为“portfolio”的目录可以将文件放入其中,如果这样做有意义的话?:)啊,我明白了,在这种情况下,也许可以尝试修改
.htaccess
,将该路径重写到您托管盖茨比网站的位置。下面是一些例子。