我需要设置我的.htaccess来为我的网站执行以下重定向。 (我花了很长时间研究SO并发现了许多与htaccess重定向有关的问题,但没有找到这个特定问题。)
1. www.example.com
2. http://www.example.com
3. example.com
4. http://example.com
5. https://example.com
to https://www.example.com
但是,不应将任何子域重定向到www或https
即support.example.com
不应重定向到https://support.example.com
或www.support.example.com
我目前在.htaccess
中有以下重定向代码RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
这正确地重定向
1. www.example.com
2. http://www.example.com
to https://www.example.com
并且还可以防止子域重定向。
然而
3. example.com
4. http://example.com
5. https://example.com
被重定向到
https://example.com
P.S。我已将链接放在代码块中,因为我没有足够的声誉来发布超过2个链接。
答案 0 :(得分:0)
尝试一下,看看它是如何运作的,让我知道。
RewriteCond %{HTTP_HOST} ^(example\.com) [NC]
RewriteRule ^(.*) https://www.example.com/$1 [R=301,L]
RewriteCond %{HTTPS} !^on$
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*) https://www.example.com/$1 [R=301,L]
答案 1 :(得分:0)
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase //
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . //index.php [L]
</IfModule>
Redirect 301 / http://sample1.com
# END WordPress
例如..
A:sample.com B:sample1.com
如果您想将sample.com重定向到sample1.com,那么您应该在重定向301旁边包含sample1.com。