簡體   English   中英

NGINX:重寫URL以更改為哈希/錨定

[英]NGINX: Rewrite url to change to hash/anchor

我很難告訴NGINX重寫某些URL,其中URL中包含&option = xxxx。

URL由域部分( http://www.test.com/ ),數據庫參考部分(?database = demo)和連續變量(&xxxx = xxxx)構成。 我希望&的第一個實例始終是#

原始網址如下所示:

http://www.test.com/?database=demo&option=sign&type=new

我希望NGINX將URL重寫為:

..website ../?database = demo#option = sign&type = new

注意從&option更改為#option。

為了使事情復雜化,下一個URL應該保持不變,因為它不是&的第一個實例,並且#已經被設置:

..website ../?database = demo#model = process&activion = none&option = sign&type = new

也許我正在以錯誤的方式進行操作。 也許告訴NGINX替換URL中的第一個&和(如果還不是#)會更容易,因為這是我想要的。 即使在這里,我也迷失了如何實現這一目標。

感謝您的幫助和指導。

您可以檢查查詢字符串是否只有database = demo。 如果不是,請使用哈希進行重定向。 正如我所說的,如果在瀏覽器中輸入/?database = demo#model = process-nginx將僅獲得/?database = demo

location / {
   if ($args ~ "^database=demo&(.+)$") {
       set $optherargs $1;
       return 301 /?database=demo#$otherargs;
   }
}

但是此解決方案對args順序敏感,database = demo需要為第一個參數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM