【问题标题】:Nginx Rewrite Rules - All Sub FoldersNginx 重写规则 - 所有子文件夹
【发布时间】:2017-11-05 10:40:58
【问题描述】:

我正在迁移网站并将我所有的产品 URL 带到顶层。

例子:

旧网址:http://www.example.com/sub/folder/product.asp 旧网址:http://www.example.com/sub1/folder1/product.asp

新网址:http://www.example.com/product.asp

我正在努力让 nginx 重写规则按我的需要工作。基本上任何以 *.asp 结尾的东西都需要去掉所有的文件夹路径。

【问题讨论】:

    标签: nginx url-rewriting


    【解决方案1】:

    您需要识别以.asp 结尾且包含多个/ 的URI。一种可能的解决方案可能是:

    rewrite ^/.+(/[^/]+\.asp)$ $1 permanent;
    

    详情请见this document

    【讨论】:

    • 就是这样......我错过了第二个反斜杠。完美,谢谢(抱歉,由于没有足够的代表,无法投票!)
    • 因为我使用它来减少重定向规则的数量,即我在 7 个类别中有相同的产品,所以不是添加 7 个重定向,而是将它带到根目录,然后我只有 1 个重定向到实际的新产品位置。即product1a.html。我现在拥有的是 nginx 中的 2 跳重定向和 magento 中的第二跳。有没有一种方法可以使 nginx 一个服务器端重定向,这样它就不会输出响应标头而只是在内部重定向?
    • 您可以通过删除permanent 后缀将重写更改为内部重定向。但是,Magento 很可能无法识别内部重定向。
    猜你喜欢
    • 1970-01-01
    • 2016-08-16
    • 2018-09-04
    • 2020-07-29
    • 2012-11-22
    • 2012-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多