【问题标题】:Nginx URL rewrite to remove folder from URL when its followed by certain subfoldersNginx URL 重写以在其后跟某些子文件夹时从 URL 中删除文件夹
【发布时间】:2020-02-26 19:38:16
【问题描述】:

在我升级我的网站后,我发现一旦我使用新版本,网站 URL 的某些部分将不会因为新结构而被重定向到画廊、博客和文件。并且没有办法在 CMS 中修复它。所以我的目标是使用 NGINX 重定向。

我想知道你们中是否有人知道任何 NGINX 重写技巧以使此类重定向成为可能?

website.com/forums/blogs/ into  website.com/blogs/
website.com/forums/gallery/ into website.com/gallery/
website.com/forums/files/ into website.com/files/

我实际上只需要从 URL 中删除的部分论坛,并且仅当地址用于论坛+博客/画廊/文件时。不想失去 Google 流量。

例如 website.com/forums/blogs/entry123/my-dog/ 被重定向到 website.com/blogs/entry123/my-dog/

但是 website.com/forums/topic/my-dog/

因为下面的子文件夹既不是博客、画廊或文件,也不会像以前一样工作。

我曾经在 Apache 上需要它,而这个可以工作,但在 Nginx 上我不知道。

RewriteRule ^forums/(blogs|gallery|files)/(.*)$ /$1/$2 [L,R=301]

【问题讨论】:

    标签: .htaccess nginx mod-rewrite url-rewriting friendly-url


    【解决方案1】:

    你可以试试

    rewrite ^/forums/(blogs|gallery|files)/(.*)$ /$1/$2;
    

    请注意rewrite 指令接受一些标志,其含义取决于它的位置(是在server 或location 块内)。详细文档是here。

    【讨论】:

    • 不,这种来自winginx.com/en/htaccess 等自动转换器的方法不起作用。就我而言。它使论坛文件夹变为 404。
    • 你能发布完整的 nginx 配置吗?
    • 我在您的配置中看不到任何处理 php 脚本的方法 - 无论是使用 php-fpm 的 fastcgi 还是使用上游服务。我认为这个配置不完整。
    猜你喜欢
    • 2020-02-20
    • 2023-03-09
    • 2023-04-03
    • 2020-09-06
    • 1970-01-01
    • 2020-07-05
    • 1970-01-01
    • 2017-02-20
    • 1970-01-01
    相关资源
    最近更新 更多