Nginx 作为 Apache 反向代理在 .htaccess 重写时给出 404

Nginx 作为 Apache 反向代理在 .htaccess 重写时给出 404

我正在尝试使用 Nginx 作为 Apache 的反向代理来缓存静态文件等。我在新安装时遇到一个问题,即它没有将 URI 传递给 Apache。基本上我有一个 vBulletin 论坛,我正在使用 vBSEO 作为 SEO 代理。问题是它为每个 URL 生成 404,除了已经存在的文件。

答案1

您能否给我们提供您 nginx 配置的相关部分?目前我们无法猜测哪里出了问题(尽管可能:在 hosts 文件中不存在的情况下使用“localhost”,因此无法解析为 127.0.0.1、apache 的端口号错误、忘记添加主机头等)。通常,它会是这样的:

server {
    listen       80;
    server_name  www.example.com;

    # normally some checking here for static content which exists as file 
    # like images, js, etc, with a 'break', with at the end:

    location / {
        proxy_pass         http://127.0.0.1:<portnumber apache is on>/;
        proxy_redirect     off;
        proxy_set_header   Host $host;
    }
}

答案2

好吧,我将其追溯到 SEO 友好插件 (vBSEO)。它生成了带有 .html 扩展名的链接,似乎 nginx 已将其设置为缓存。由于这些链接在物理上不存在,因此它产生了 404 错误。

相关内容