配置裡面寫了這個:
location / { rewrite /bug.html /weather/index.html?mode=test last; error_page 404 = @nodejs; }
瀏覽器開啟/bug.html的時候,的確出現的是/weather/index.html頁面,但是瀏覽器網址列沒變。 這是怎麼回事?
/bug.html
人生最曼妙的风景,竟是内心的淡定与从容!
改成這個試試
location / { rewrite /bug.html /weather/index.html?mode=test redirect; error_page 404 = @nodejs; }
rewrite有很多種方法,你寫的那種的意思其實是用户访问老地址时,服务器到新地址去抓取内容然后展现,看清楚了吗,你可以理解为服务器内部做了个跳转,而外部地址不会改变。如果你想让浏览器直接去访问新地址,请用redirect。
用户访问老地址时,服务器到新地址去抓取内容然后展现
redirect
單rewrite是伺服器重新導向: nginx去抓另一個url, 回傳給目前請求
你要的那種是客戶端重定向: nginx回傳301/302給目前請求, 讓瀏覽器自己去請求新的url
改成這個試試
rewrite有很多種方法,你寫的那種的意思其實是
用户访问老地址时,服务器到新地址去抓取内容然后展现
,看清楚了吗,你可以理解为服务器内部做了个跳转,而外部地址不会改变。如果你想让浏览器直接去访问新地址,请用redirect
。單rewrite是伺服器重新導向: nginx去抓另一個url, 回傳給目前請求
你要的那種是客戶端重定向: nginx回傳301/302給目前請求, 讓瀏覽器自己去請求新的url