【问题标题】:Rewrite Rule. Drop everything after a string重写规则。删除字符串后的所有内容
【发布时间】:2014-07-09 00:33:47
【问题描述】:

我有很多 404 url​​,当字符串包含单词“where”时,我想重写这些规则。

“where”之后(包括“where”)的所有字符都将被删除。

例如: http://www.website.com.au/category/subcategory/where/colour/black

会变成

http://www.website.com.au/category/subcategory/

我有以下重写,但我希望它更通用。

location /category/subcategory/where/colour/black {
    rewrite ^(.*)$ http://www.website.com.au/category/subcategory/ redirect;
}

任何帮助将不胜感激 布伦丹

【问题讨论】:

  • /category/subcategory 也应该是通用的?
  • 嗨,是的,它也应该是通用的。位置 /anything/anything/where/color/black 所以如果 url 中有 /where/,请在 where 子句后去掉字符,保留 url 的现有开头

标签: nginx url-rewriting rewrite


【解决方案1】:
location ~* ^/(.+)/where/ {
    rewrite ^(.+)/where/ $1 redirect;
}

【讨论】:

    猜你喜欢
    • 2012-10-19
    • 2018-01-13
    • 2021-02-28
    • 1970-01-01
    • 2018-04-03
    • 2016-12-08
    • 2017-06-03
    • 2019-02-11
    • 2020-09-08
    相关资源
    最近更新 更多