包含空格的 Nginx 重写

标签 nginx rewrite

我们的一位客户创建了一个二维码,其中 url 中包含一个空格。
我将如何编写处理此问题的 nginx 重定向?

在字符串中使用诸如“%20”之类的东西的几次尝试似乎会导致 nginx 出错或使 configtest 失败

准确地说,二维码是这样读的

http://www.google.com/somestuff/someotherstuf/pagewewant

我需要将它重定向到

http://www.google.com/somestuff/someotherstuf/pagewewant
(重写应该在 somestuff 之后不显示空格)

谢谢你的时间

最佳答案

问题已经两年多了,但也许它会让人头疼。

警告:我不是 nginx 专家。这只是我在找到这个悬而未决的问题后尝试过的事情之一,它碰巧奏效了。这可能不是做到这一点的最佳方式。我建议检查 nginx 文档,以防有人正在处理大量此类位置。

对于偶尔包含空格的重写,我将路径放在单引号中:

location '/level_one /landingpage.htm' { 
rewrite ^ http://www.foo.bar/level_one/landingpage.htm permanent; }

如果由于某种原因您需要在目标中有空格,请将其放在单引号中:
location '/downloads/foo bar.pdf' { 
rewrite ^ 'http://www.foo.bar/documents/foo bar.pdf' permanent; }

关于包含空格的 Nginx 重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12101690/

相关文章:

.htaccess - 将特定的URL重写到其他目录

php - PHP exec 和 shell_exec 的问题 - Shell 脚本执行

asp.net - Windows 和 Linux 上的 .net Core

php - 如何让 NGINX 通过 index.php 执行文件夹中的所有 URL

angular - 使用 nginx 从 dist 文件夹提供 angular-cli

php - 我如何修改我的 .htaccess 以使其按我的意愿工作?

apache - 子目录下的nginx重写规则

reactjs - 通过nginx请求api server(Golang)失败返回404错误

Joomla 与 Nginx 重写 SEF url