用于PunBB的Nginx和Apache虚拟主机

用于PunBB的Nginx和Apache虚拟主机,apache,nginx,punbb,Apache,Nginx,Punbb,将论坛复制到另一个主机后,登录不起作用。 我想问题来自于我设置虚拟主机的方式 Nginx代理: server { listen 443 ssl; server_name example.com; location /forum/ { rewrite ^/forum/(.*) /$1 break; proxy_pass http://127.0.0.1:6666; ... } } Apache虚拟主机: <

将论坛复制到另一个主机后,登录不起作用。 我想问题来自于我设置虚拟主机的方式

Nginx代理:

server {
    listen 443 ssl;
    server_name example.com;

    location /forum/ {
        rewrite  ^/forum/(.*) /$1 break;
        proxy_pass http://127.0.0.1:6666;
        ...
    }
}
Apache虚拟主机:

<VirtualHost 127.0.0.1:6666>
    ServerName example.com
    DocumentRoot /my/web/dir/forum

    <Directory /my/web/dir/forum>
            Options FollowSymLinks
            AllowOverride All
            Require all granted
    </Directory>
</VirtualHost>
这是我成功的唯一途径,至少是向论坛展示。然而,登录和其他可能的东西不起作用

当我尝试登录时,“确认操作”在表单中出现错误链接

<form method="post" action="https://example.com/login/">
    <div class="hidden">
        <input type="hidden" name="prev_url" value="https://example.com/login/">
        <input type="hidden" name="redirect_url" value="https://example.com/">
        ...
    </div>
    ...
</form>

...
...
正确的链接是
https://example.com/forum/login

如何解决这个问题,或者以更好的方式实现虚拟主机

编辑:


在旧的主机上,
.htaccess
具有
重写库/论坛
,但是有了它,论坛在这里就不起作用了。如果我删除
重写^/forum/(.*)/$1 break,它给出“由于可能的配置错误,请求超出了10个内部重定向的限制。”

什么是
重写^/forum/(*)/$1中断的重写规则?试试没有它会发生什么。这是一件非常值得怀疑的事情。但是,如果没有它,它将在请求终止时上升
循环引用
(或类似)10倍。我同意如果没有它,它看起来会更好,
RewriteBase/forum
$base_url = 'https://example.com/forum';
<form method="post" action="https://example.com/login/">
    <div class="hidden">
        <input type="hidden" name="prev_url" value="https://example.com/login/">
        <input type="hidden" name="redirect_url" value="https://example.com/">
        ...
    </div>
    ...
</form>