如何在 Nginx 中使用查詢字串進行重新導向

如何在 Nginx 中使用查詢字串進行重新導向

我想重定向:

something.com/search?keywords='value'

something.com/search?q='value'

這是我的 Nginx 設定:

location ~ /search {
       if ($args ~* "keywords=(.*)") {
            rewrite ^.*$ /search?q=$arg_keywords permanent;
        }
    }

q重定向時參數為空。

怎麼了?

答案1

但重定向時 q 參數為空。

我沒有看到這個問題。當我測試寫入的配置時,它會建立一個重定向循環,因為原始配置keywords='value'已附加到重寫的 URI 中。

您可以透過將 a 附加到重寫的 URI來防止rewrite包含任何原始參數。?

例如:

rewrite ^ /search?q=$arg_keywords? permanent;

這個文件了解詳情。

相關內容