我是nginx的新手,并且配置简单的重定向。 这是我尝试重定向的非常简单的配置:
// Store form state at page load
var initial_form_state = $('#myform').serialize();
// Store form state after form submit
$('#myform').submit(function(){
initial_form_state = $('#myform').serialize();
});
// Check form changes before leaving the page and warn user if needed
$(window).bind('beforeunload', function(e) {
var form_state = $('#myform').serialize();
if(initial_form_state != form_state){
var message = "You have unsaved changes on this page. Do you want to leave this page and discard your changes or stay on this page?";
e.returnValue = message; // Cross-browser compatibility (src: MDN)
return message;
}
});
从桌面访问网站时一切正常,我的请求是uwsgi。 但是从移动设备上我从浏览器ERR_TOO_MANY_REDIRECTS收到错误,请求网址看起来像http://X.X.X.X/mobile/mobile/mobile/mobile/mobile/mobile/mobile/mobile
显然,我遗漏了一些必不可少的,可能非常简单的作品。请帮帮我。
答案 0 :(得分:1)
您已创建循环。第一次点击if/return
时添加/mobile
前缀。然后再次显示URI并且它会添加另一个/mobile
前缀的相同语句,并且会继续重复。
要打破循环,您需要保护第一次添加if/return
前缀后未采取的路径中的/mobile
。
也许:
server {
listen 80 default_server;
location /mobile {
include uwsgi_params;
uwsgi_pass unix:/var/www/video_m/video.sock;
}
location / {
if ($http_user_agent ~* '(phone|droid)') {
return 301 $scheme://$host/mobile$request_uri;
}
include uwsgi_params;
uwsgi_pass unix:/var/www/video/video.sock;
}
}