将索引页请求重写到子目录及其页面

将索引页请求重写到子目录及其页面

我有一个 XenForo 论坛,它为网站提供支持。我还在 XF 的一个子目录中安装了 WordPress。这是让名为 XPress 的插件正常工作的必备条件,这样我就可以整合两者。

问题是没有简单的方法可以将 WP install /wp 放入主页。我在这里只完成了一半:

    location / {
        rewrite ^/$ /wp/ last;
        index index.php index.html index.htm;
        try_files $uri $uri/ /index.php?$uri&$args;
    }

这“有点”有效。主页现在列出了来自 /wp 的帖子。然而,仅此而已。单击帖子会转到 /wp/ 并在 XF 端返回 404。这是另一次尝试:

    location / {
        rewrite ^/$ /wp/ last;
        index index.php index.html index.htm;
        try_files $uri $uri/ /index.php?$uri&$args /wp/index.php?$uri&$args;
    }

如果我想让 wordpress 控制网站,那么这个功能就很好用。如果我点击一个标题,它会转到 mydomain.com/,这很完美,但论坛的其余部分不起作用。

所以,我想我想要的是这个:

  • 仅对于根页面,重写为/wp.
  • 也许:重写/wp/<title>/<title>
  • 确保/wp/重写为 / 如果要去的话但/wp/wp-admin仍然有效。

可能的?

答案1

将块拆分location /成三部分:

location / {
    try_files $uri $uri/ /index.php?$uri&$args;
}
location = / {
    rewrite ^ /wp/ last;
}
location /wp/ {
    try_files $uri $uri/ /wp/index.php;
}

相关内容