如何在nginx中编写重写规则

如何在nginx中编写重写规则,nginx,Nginx,假设我有一个URL,现在改为(%20已删除),有人能告诉我如何使用nginx将请求重定向到。请注意,Travel%20Accessories是一个示例,在许多其他此类url中,该空间(%20)被删除 问候 Rishi您不能删除任意数量的空格。问题是,对于重写,必须指定一个正则表达式来匹配整个URL,并为整个URL指定一个替换表达式 此重写规则应替换URL中以/category/开头的一个空格: rewrite ^(/category/.*)\ (.*)$ $1$2 permanent; 您可以

假设我有一个URL,现在改为(%20已删除),有人能告诉我如何使用nginx将请求重定向到。请注意,Travel%20Accessories是一个示例,在许多其他此类url中,该空间(%20)被删除

问候
Rishi

您不能删除任意数量的空格。问题是,对于重写,必须指定一个正则表达式来匹配整个URL,并为整个URL指定一个替换表达式

此重写规则应替换URL中以/category/开头的一个空格:

rewrite ^(/category/.*)\ (.*)$ $1$2 permanent;
您可以添加更多要捕获的空间,如下所示:

rewrite ^(/category/.*)\ (.*)\ (.*)$ $1$2$3 permanent;
rewrite ^(/category/.*)\ (.*)$ $1$2 permanent;

请注意,对于每个可能的空格数(在本例中为1和2),您需要有一条规则。

请查看此规则,以便回答相关问题。它非常全面,我认为您可以应用到您的用例中。感谢Lukas,它做了一些小改动,即重写^(/category/*)\(.*)$$1$2 permanent。我必须用\(\空格)替换%20。为了获得更多的空间,无需添加任何额外的内容。我的重写规则处理了所有的空格。