我有一个在LEMP堆栈上运行的网站.我已经在网站上启用了cloudflare.我正在为https使用cloudflare灵活SSL证书.当我在chrome中打开网站时,它显示网站重定向了你太多次,并且在firefox中检测到服务器正在以永远不会完成的方式重定向该地址的请求.我试图看到其他问题的答案,但似乎都没有解决问题.NGINX conf文件: -
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name mydomain.com www.mydomain.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Run Code Online (Sandbox Code Playgroud)
如果有人能指出我做错了什么,我将非常感激.
嗨我创建了一个javascript函数,只允许0到30之间的数字和字符A和D.如果它与条件不匹配,我会发出警报但如果用户在警报上单击确定,则值仍然保留在输入中并且可以在数据库中更新.我希望用户不应该在输入框中输入任何东西,除了字符A,D和0到30之间的数字,就像在输入类型=数字的情况下我们只能输入数字一样.我的javascript函数是: -
function validate() {
var regex = /[ad0-9]/gi;
var txt = document.getElementById('txt').value;
var valid = true;
var error = '';
if (regex.test(txt)) {
if (!isNaN(txt)) {
if (!(parseInt(txt) >= 0 && parseInt(txt) <= 30)) {
valid = false;
error = 'Please enter between 0 to 30.'
}
}
}
else {
valid = false;
error = 'Please enter between 0 to 30, A or D'
}
if (!valid) {
alert(error);
}
}
Run Code Online (Sandbox Code Playgroud)
javascript在验证时工作正常,但在警告值中单击确定后仍然保留在那里,当输入框为空时它也会出现错误以避免这种情况.有没有其他更好的方法来创建该功能,或者可以通过使用jquery完成.我是jquery的新手,如果有可能用jquery做它会很棒.如果有人可以提供帮助,我将非常感激.