[英]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.