簡體   English   中英

在 Express NodeJS 中將 www 強制為 https

[英]Force www to https in Express NodeJS

我用 express 構建了一個 NodeJS 應用程序,當我輸入域名時,在 Firefox 中。com 它不會重定向到 https://www.<domain_name>.com

有人可以幫助解決如何使用 https 重定向 <domain_name>.com 和 www.<domain_name>.com 嗎?

  let host = req.headers.host;
  if (!host.match(/^www\..*/i)) {
    return res.redirect(301, "https://www." + host + req.url);
  }
  next();
}

我嘗試了上面的方法,但在 Firefox 上沒有成功。

您必須相應地編輯您的 http 服務器配置:

apache: etc/apache2/sites-available/000-default

更改為:

RewriteEngine on
  RewriteCond %{HTTPS} !=on
  RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

或者

nginx: etc/nginx/sites-available/default

更改為:

server {
      listen 80;
      server_name your_domain.com www.your_domain.com;
      return 301 https://$host$request_uri;
}

如果您仍然遇到問題,請編輯 .htaccess 文件:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^(www\.)?supergenscript\.com
RewriteRule ^(.*)$ https://www.supergenscript.com/$1 [R=301, L]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM