配置服務部分:
h5: {
devServer: {
host: "m.loubei.com", port: 80, open: false, proxy: { '/api/': { target: 'https://api.fczx.com', ws: true, //開啟websoket pathRewrite: { '^/api/': '/' }, changeOrigin: true }, '/areaapi/': { target: 'https://areaapi.fczx.com', pathRewrite: { '^/areaapi/': '/' }, changeOrigin: true } } } }
server {
listen 80; server_name m.loubei.com; location / { root F:\code\mini\dist\h5; index index.html index.htm;
#解決Nginx刷新后404找不到頁面 try_files $uri $uri/ /index.html; add_header Access-Control-Allow-Origin *; } location /api/ { proxy_pass https://api.fczx.com; rewrite ^/api/(.*) https://api.fczx.com/$1 permanent; } location /areaapi/ { proxy_pass https://areaapi.fczx.com; rewrite ^/areaapi/(.*) https://areaapi.fczx.com/$1 permanent; } }
#此方法替換前綴/api/,/areaapi/不能解決跨域問題
location /api/ { proxy_pass https://api.fczx.com; rewrite ^/api/(.*) https://api.fczx.com/$1 permanent; } location /areaapi/ { proxy_pass https://areaapi.fczx.com; rewrite ^/areaapi/(.*) https://areaapi.fczx.com/$1 permanent; }
#此方法替換前綴可以解決跨域問題 location /api/ { proxy_pass https://api.fczx.com/; } location /areaapi/ { proxy_pass https://areaapi.fczx.com/; }
Nginx URL重寫(rewrite)配置及信息詳解
URL重寫有利於網站首選域的確定,對於同一資源頁面多條路徑的301重定向有助於URL權重的集中
Nginx URL重寫(rewrite)介紹
和apache等web服務軟件一樣,rewrite的組要功能是實現RUL地址的重定向。Nginx的rewrite功能需要PCRE軟件的支持,即通過perl兼容正則表達式語句進行規則匹配的。默認參數編譯nginx就會支持rewrite的模塊,但是也必須要PCRE的支持
rewrite是實現URL重寫的關鍵指令,根據regex(正則表達式)部分內容,重定向到replacement,結尾是flag標記。
rewrite語法格式及參數語法說明如下:
rewrite <regex> <replacement> [flag];
關鍵字 正則 替代內容 flag標記
關鍵字:其中關鍵字error_log不能改變
正則:perl兼容正則表達式語句進行規則匹配
替代內容:將正則匹配的內容替換成replacement
flag標記:rewrite支持的flag標記
flag標記說明:
last #本條規則匹配完成后,繼續向下匹配新的location URI規則
break #本條規則匹配完成即終止,不再匹配后面的任何規則 redirect #返回302臨時重定向,瀏覽器地址會顯示跳轉后的URL地址 permanent #返回301永久重定向,瀏覽器地址欄會顯示跳轉后的URL地址
rewrite參數的標簽段位置:
server,location,if
rewrite ^/(.*) http://www.loubei.com/$1 permanent;
說明:
rewrite為固定關鍵字,表示開始進行rewrite匹配規則
regex部分是 ^/(.*) ,這是一個正則表達式,匹配完整的域名和后面的路徑地址
replacement部分是http://www.loubei.com/$1 $1,是取自regex部分()里的內容。匹配成功后跳轉到的URL。
flag部分 permanent表示永久301重定向標記,即跳轉到新的 http://www.loubei.com/$1 地址上