在htaccess中重定向多个指令的更有效方法是什么?

时间:2017-12-28 16:47:12

标签: apache .htaccess redirect

我正在尝试用我的.htaccess做多件事 -

我正在尝试将多个域重定向到单个域

我正在尝试将non-www重定向到www

我正在尝试将non-https重定向到https

对于这个例子 - 我想要实现https://myfinaldomain.com

到目前为止,我的htaccess看起来像这样:

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

 # Redirect www and http to https - non-www version of https://myfinaldomain.com

            RewriteCond %{HTTPS} off [OR]
            RewriteCond %{HTTP_HOST} ^www\. [NC]
            RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
            RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
            RewriteRule ^Home\.htm?$ / [NC,R,L]

我的问题是,如果我将其与ifs分开,我可以将其付诸实施......如果我按原样使用它,我会too many redirects。有没有更有效的方式来看待这一切?我已将non-wwwnon-https合并到一个块中。我无法将顶部所有内容逻辑地合并为一组conditions和一个rule。这可能吗?

0 个答案:

没有答案