在带有nginx反向代理的LAMP堆栈上仅为带有WordPress的子文件夹供电

时间:2011-08-14 作者:Doug Stephen

[我也只是在WP论坛上发布了这篇文章,然后有人开始用谷歌搜索并说这篇文章是在其他地方发布的]

我希望这不是一个重复的,但我一直在这里搜索和谷歌搜索,我没有找到任何东西。

我目前正在运行一个web服务器,它将nginx作为LAMP堆栈的前端代理和静态站点的web服务器。我正在为一个将由WP提供动力的网站进行一些开发。

目前,mysite。com由nginx作为静态站点提供。WP安装将从mysite子文件夹中提供。com/sub。nginx服务器的文档根目录(静态文件)和Apache服务器的文档根目录(所有动态内容,以及WP文件当前安装的位置)不在同一目录中。我想在mysite中安装WP。com/sub,因此只有这个子目录由WP提供动力,而完全忽略了我的站点的根目录,但我读过的所有文章都讨论了使用WP为根目录提供动力,而只是在其他地方安装文件。

我花了很长时间才在我的nginx配置中编写了所有正确的代理传递规则,以便正确地进行安装,这一切都很好,但WordPress是在mysite之外运行的。com而不是mysite。com/sub,我不能百分之百确定自mysite以来最简单的修复方法是什么。com没有Apache的支持,因此没有PHP或。htaccess文件在该目录的根目录中进行修补。

我意识到这有点漫无边际,很难解释,我很乐意为任何认为他们可以为我指出正确道路的人提供任何问题的答案。

我更喜欢使用这个结构,而不是使用子域,所以如果有人有任何建议,我会非常感激。

3 个回复
SO网友:Pothi Kalimuthu

如果您仍在寻找解决方案,您的nginx配置应该如下所示,以实现您所描述的。。。

server {
  listen 80;
  server_name yourdomain.com

  root /path/to/yourdomain.com;
  index index.php index.html;

  location / {
    # directives to handle static site
  }

  location /sub {
    # directives to handle WordPress
    try_files $uri $uri/ /sub/index.php?$args;
  }

  location ~* \\.php$ {
    # pass to Apache backend
  }
}

SO网友:Chip Bennett

WordPress无需特殊配置即可安装在子目录中。只需在mysite中安装即可。com/sub,并运行mysite。com/sub/install。php。WordPress将知道它的位置,并使用mysite。com/sub作为其URL。

SO网友:Vid Luther

Doug,在你的wp配置中,将wp\\u HOME和wp\\u SITEURL设置为在站点名称后加上/blog/,这样你就很好了。

结束

相关推荐

WordPress 2.9.2中使用WP Query时出现“ApacheHTTP服务已停止工作”

当我的脚本运行WP 2.9.2中下面的第4行时,它会导致我的web应用抛出“Apache HTTP服务已停止工作”错误$cat=get_cat_ID(\'top-menu\'); $catHidden=get_cat_ID(\'hidden\'); $myqueryCurrent = new WP_Query(); $myqueryCurrent->query(array(\'cat\'=>\"$cat,-$catHidden\",\'post__not_in\'=&g