【问题标题】:redirecting www. to https重定向www。到 https
【发布时间】:2017-08-02 02:33:53
【问题描述】:

我的网站网址看起来像 www.[site-name].com

我想使用以下代码重定向到 .htaccess 上的 https://www.[site-name].com

RewriteEngine On
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301, L]

我将文件复制到这个路径的ftp:httpdocs/.htaccess

但当我尝试加载 www.[site-name].com 时,它不会重定向到 [site-name].com。我该如何解决这个问题?

【问题讨论】:

  • 到底出了什么问题?发生了什么?
  • 当我尝试加载 www.[site-name].com 时,它不会重定向到 [site-name].com

标签: php .htaccess redirect


【解决方案1】:

试试这个:

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

【讨论】:

  • 网页仍停留在 www.[site-name].com 未重定向。
  • @Onur 你想重定向到 https 还是 www?
  • 我想重定向到 https。
  • @Onur 你是在真实服务器还是本地主机上测试?
  • 在真实服务器而非本地主机上测试。
【解决方案2】:

如果你想将非 www url 重定向到 www url,对于 http 和 https 都使用这个;

RewriteEngine on

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

如果您想将 www 重定向到非 www url,请使用此 ;

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
RewriteCond %{HTTPS_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

或者不使用域名;

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*) http://%1/$1 [R=301,L]
RewriteCond %{HTTPS_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*) https://%1/$1 [R=301,L]

【讨论】:

  • 如果您希望将 http 重定向到 https,只需在 HTTP_HOST 行下方的指令中将目标从 http:// 更改为 https://
猜你喜欢
  • 2020-05-22
  • 2012-06-09
  • 2019-01-31
  • 2016-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-22
相关资源
最近更新 更多