.htaccess 需要帮助重定向301中的多个站点

wfypjpf4  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(154)

我想有帮助重定向我的几个二级域名到我的主域名。同时我的主域名必须重定向在“https”和“www”。
我现在能做的最好的事情就是:

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

这适用于除一种情况以外的所有情况:当按照以下规则写入辅助域时:https + www,它保持其外观,不重定向。
我也试探着:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

#Redirection number 1
RewriteCond %{HTTP_HOST} ^www.example1.com [NC]
RewriteRule ^/?(.*) https://www.example.com/$1 [L,R=301]

#Redirection number 2
RewriteCond %{HTTP_HOST} ^www.example2.com [NC]
RewriteRule ^/?(.*) https://www.example.com/$1 [L,R=301]

#Redirection number 3
RewriteCond %{HTTP_HOST} ^www.example3.com [NC]
RewriteRule ^/?(.*) https://www.example.com/$1 [L,R=301]

#Redirection number 4
RewriteCond %{HTTP_HOST} ^www.example4.com [NC]
RewriteRule ^/?(.*) https://www.example.com/$1 [L,R=301]

总的来说是可行的,但必须有更简单更短的,不是吗?
提前感谢您帮助!

编辑21/10/22

我想我找到这个了,告诉我行不行

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example1.com$ [OR]
RewriteCond %{HTTP_HOST} ^example2.com$ [OR]
RewriteCond %{HTTP_HOST} ^example3.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.example1.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.example2.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.example3.com$
RewriteRule (.*)$ https://www.example.com/$1 [R=301,L]
shyt4zoc

shyt4zoc1#

主域上的.htaccess始终具有httpswww

# redirect if not www
RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]

# ensure https
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

你最后一次编辑重定向其他域到你的主要似乎是好的。

相关问题