0

我有一个脚本可以创建带有某些链接的循环,如下所示:

http://example.com/index.php?print=1
http://example.com/index.php?print=1?print=1
http://example.com/index.php?print=1?print=1?print=1
http://example.com/index.php?print=1?print=1?print=1?print=1

我想有一个重写(301重定向)规则,它将任何包含 ?print=1 的 URL 多次重定向到同一个 url 但只有一个 ?print=1

例子:

http://example.com/index.php?print=1?print=1?print=1?print=1?print=1?print=1

重定向到

http://example.com/index.php?print=1

http://example.com/somefolder/?print=1?print=1?print=1?print=1

重定向到

http://example.com/somefolder/?print=1

http://example.com/randomfilename.php?print=1?print=1?print=1

重定向到

http://example.com/randomfilename.php?print=1

对此的任何帮助将不胜感激,nginx和正则表达式/重写对我来说仍然是新的......

4

1 回答 1

0

好吧,我不确定这是否可行,但我们可以尝试,

location /在服务器块或块中添加这些行

if ($args ~ "(print=1\?print=1)") {
    return 301 $scheme://example.com$request_uri?print=1;
}
于 2013-10-22T08:38:05.823 回答