Nginx location + 正規表示式出現301錯誤
之前在配置nginx location時總是遇到301錯誤,百思不得其解,關鍵是我沒有用rewrite,但是我用了alias,因此懷疑是alias引起了301錯誤。
示例如下:
報錯示例:
index index.html
location /zzp/ {
alias /data/nginx/zzp/exact/;
}
location ~ ^/zzp/ {
alias /data/nginx/zzp/regex/;
}
修正後的示例:
location /zzp/ {
alias /data/nginx/zzp/exact/;
}
location ~ ^/zzp/(.*\.html)$ {
alias /data/nginx/zzp/regex/$1;
}
解析:
If alias is used inside a location defined with a regular expression then such regular expression should contain captures and alias should refer to these captures (0.7.40)
上面的話來自nginx的文件,意思是,當nginx的location是一個正規表示式時,這個正規表示式應該包含capture,並且alias中要引用這些capture,也就是$1那個部分。
再深究為什麼,在stackoverflow上面說是導致了內部重定向迴圈,但是沒看懂。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29757574/viewspace-2147809/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- nginx正規表示式(上篇)Nginx
- nginx正規表示式快捷測試方法Nginx
- JS實現正規表示式JS
- 深入淺出之正規表示式
- 正規表示式
- 深入淺出之正規表示式(二)
- 深入淺出之正規表示式(一)
- 【正規表示式】常用的正規表示式(數字,漢字,字串,金額等的正規表示式)字串
- 【JavaScript】正規表示式JavaScript
- php –正規表示式PHP
- 正規表示式 教程
- 正規表示式 split()
- java正規表示式Java
- PHP正規表示式PHP
- javascript正規表示式JavaScript
- 【java】正規表示式Java
- 初探正規表示式
- [js]正規表示式JS
- js正規表示式JS
- javascript–正規表示式JavaScript
- ORACLE 正規表示式Oracle
- MySQL 正規表示式MySql
- oracle正規表示式Oracle
- js 正規表示式JS
- ultraedit正規表示式
- 正規表示式合集
- SQL正規表示式SQL
- 正規表示式(java)Java
- JavaScript 正規表示式JavaScript
- MySQL正規表示式MySql
- 常用正規表示式
- 正規表示式之python實現Python
- Oracle正規表示式函式Oracle函式
- JS常用正規表示式及驗證時間的正規表示式JS
- nginx location匹配規則Nginx
- 無法在 nginx 的 “if” 正規表示式中使用變數?Nginx變數
- 詳解正規表示式
- 正規表示式基礎