从旧域重定向到新域,删除www并重定向到https

时间:2013-09-14 15:23:05

标签: regex apache .htaccess mod-rewrite

我正在尝试调整htaccess,以便来自我的旧网址的用户被重定向到新网址,如果他输入www以删除它并最终将其转移到https://。 我能够做到这一点,但有一件事是问题,所以如果用户进入 http://www.my_old_site.com/features.php这是网站上的其他页面我想将其重定向到https://my_new_site.com/features.php 到目前为止我所拥有的是删除www并重定向到https://

Options FollowSymLinks
RewriteEngine On

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

RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

提前致谢。

1 个答案:

答案 0 :(得分:2)

我认为所有这些都可以在一条规则中完成:

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [OR,NC]
RewriteCond %{HTTP_HOST} ^my_old_site\.com$ [NC]
RewriteRule ^ https://my_new_site.com%{REQUEST_URI} [L,R=301]