iT邦幫忙

0

NGINX縮短網址的寫法

com 2023-03-15 18:03:361202 瀏覽
  • 分享至 

  • xImage

前輩好~
我目前的網址是
https://www.nc.com.tw/modules/tag/view.tag.php?3
我想要改寫成以下網址也能正常作動
https://www.nc.com/modules/tag/view.tag.php/3
目前將NGINX設定如下

location ~ /tag/view.tag.php([A-Za-z0-9_-]+)/? {
	try_files $uri /tag/view.tag.php?$1;
}

可是?號換/斜線還是沒作用,請問我NGINX應該怎麼寫?

黃彥儒 iT邦高手 1 級 ‧ 2023-03-15 20:45:46 檢舉
https://ubiq.co/tech-blog/rewrite-url-parameters-nginx/
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
wiseguy
iT邦超人 1 級 ‧ 2023-03-15 22:39:12

你這看起來也沒縮短網址啊~
一般叫縮短網址,應該是像把
https://www.nc.com/tag/view.tag.php?3
縮成
https://www.nc.com/3
這樣就能像上頭一樣的效果才叫縮短網址。

rewrite /(\w+) /tag/view.tag.php?$1 break;
不過當然你還是可以還原成你原來的需求:
rewrite /tag/view.tag.php/(\w+) /tag/view.tag.php?$1 break;
記得 rewrite 指令要擺在所有 location 之前。

com iT邦新手 4 級 ‧ 2023-03-15 22:46:49 檢舉

您好,因我不同段落有不同host在使用,是否有location ~ 內的寫法?

wiseguy iT邦超人 1 級 ‧ 2023-03-15 22:51:18 檢舉

那就把 rewrite 寫到多個段落、多個 host 去就行了。
就算你多寫了 location,location 裏頭依然是這一行 rewrite 啊。所以為何要多此一舉?

我要發表回答

立即登入回答