也许有人可以帮助我。我需要这样的重写规则:从http://
和http://www.
重定向到https://www.mydomain
。
例如,有mydomain.com
的用户将其重定向到https://www.mydoamin
,如果他输入www.mydomain.com
,他会被重定向到https://www.mydomain
。因此,如果有人输入mydomain.com
和www.mydomain.com
,他应该被重定向到https://www.mydomain
如果可能,还可以重定向到login.mydomain.com
- >这样的子域名https://login.mydomain.com
HTTPS的所有内容。
答案 0 :(得分:4)
好吧,我在上一条评论中发现了一个小错字,如果这些配置不能按预期运行,我想知道哪个部分是错的:
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)替换为%{REQUEST_URI},并将^ /(。)$替换为。。
答案 1 :(得分:3)
这是你可以放在.htaccess文件中的内容
RewriteEngine On
SSLOptions +StrictRequire
SSLRequireSSL
RewriteCond %{HTTPS} !=on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
答案 2 :(得分:2)
你的两个代码都不起作用。
目前我有这个,但只能用于http(没有“s”)
# http to www #
RewriteCond %{HTTP_HOST} !^www\..* [NC]
RewriteCond %{HTTP_HOST} !^.*\..*\..* [NC]
RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301,L]