我需要对以下问题的nginx重写规则:nginx的重写规则删除 - 和_
我的网址包括一些连字符和最终强调
请求示例:http://www.example.com/cat/cat2/200-AB---a-12_12-123.312/cat-_-cat/cat/dog---I
会给404错误 所以需要一个301-重定向到:
http://www.example.com/cat/cat2/200-AB-a-12-12-123.312/cat-cat/cat/dog-I
所以所有的下划线应该用连字符替换,并且一次只能有一个连字符。
简短版本: 用---代替---并用_代替_ ,但用 - this -_-代替_将变成---而规则1将不得不再次被调用。
在一个规则中可以这样做吗?如果不是如何做到这一点任何其他方式:)我完全不知道该怎么做nginx的
任何帮助赞赏:)
我认为这将是多,如果你做的更灵活它在应用程序端而不是nginx端。 – 2013-02-14 20:57:00
您将需要递归重写,nginx重写是递归的,您需要找到在少于10个循环中执行的正确方法。 – regilero 2013-02-15 08:51:08
形成我的理解重写可以分两步完成。首先用连字符替换下划线,然后用一个替换多个连字符。但我绝对不知道该怎么做。对不起,/ – user2025805 2013-02-15 09:46:08