繁体   English   中英

http://和http:// www。 到https:// www

[英]http:// and http://www. to https://www

也许有人可以帮助我。 我需要这样的重写规则:从http://http://www.重定向http://www. https://www.mydomain

例如,有人输入mydomain.com他将被重定向到https://www.mydoamin ;如果他输入www.mydomain.com他将被重定向到https://www.mydomain 因此,如果有人输入mydomain.comwww.mydomain.com他应该重定向到https://www.mydomain

另外,如果可能的话, login.mydomain.com重定向到子域,例如login.mydomain.com > https://login.mydomain.com

一切都交给HTTPS。

好吧,我在上一则评论中发现了一个可能要解决的错字,如果这些配置无法按预期工作,我想知道哪一部分是错误的:

RewriteCond %{HTTPS} !=on
RewriteRule .* https://www.mydomain.com%{REQUEST_URI} [R=301,L]

RewriteCond %{HTTP_HOST} !^www\.mydomain\.com
RewriteRule .* https://www.mydomain.com%{REQUEST_URI} [R=301,L]

以上由两部分组成:

  1. 如果url并非以https://开头,请重定向到https://www.mydomain.com/,而不管该URL的主机名还是其余部分
  2. 如果url主机名不是www.mydomain.com,则重定向到https://www.mydomain.com/ ,无论如何该URL是http://或https://

更新:最后,有机会自己测试。 由于某些原因,匹配规则没有按我的预期工作。 将通配符($ 1)替换为%{REQUEST_URI},并将模式^ /(。)$替换为。

这是您可以放入.htaccess文件中的内容

RewriteEngine On
SSLOptions +StrictRequire
SSLRequireSSL
RewriteCond %{HTTPS} !=on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

您的两个代码均无效。

目前,我有一个,并且它只对http有效(不带“ s”)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM