apache - .htaccess 从一个域重定向到另一个域,包括子域

标签 apache .htaccess mod-rewrite redirect

我有两个域,例如:

  • example.com
  • website.co.uk

我想通过以下方式重定向:

  • example.com --> https://www.website.co.uk
  • alt.example.com --> https://www.alt.website.co.uk
  • test.example.com --> https://www.test.website.co.uk

如您所见,我希望它始终强制 https www.

但是,我也希望它记住 URL 结构的其余部分,例如:

  • example.com/folder/index.html --> https://www.website.com/folder/index.html >
  • alt.example.com/test/ --> https://www.alt.website.com/test/
  • test.example.com/o/index.php --> https://www.test.website.com/o/index. php

我不确定完成此操作的最佳方法,我找到的两个选项是尝试重写规则,另一个是 301 重定向。

最佳答案

尝试以下规则

RewriteEngine on


#redirect subdomains
RewriteCond %{HTTP_HOST} ^((?!www).+)\.domain.com$
RewriteRule ^(.*)$ http://%1.domain2.com/$1 [L,R]

#redirect domain

RewriteCond %{HTTP_HOST} ^(www\.)?domain.com$
RewriteRule ^(.*)$ http://www.domain2.com/$1 [L,R]

关于apache - .htaccess 从一个域重定向到另一个域,包括子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34380485/

相关文章:

wordpress - 使用 htaccess 将所有页面重定向到单个页面?

.htaccess - 需要 mod_rewrite URL 信息

apache - 引用:mod_rewrite,URL重写和“漂亮链接”说明

css - Laravel + Angular : Securing Angular Pages

apache - Varnish :可缓存但未缓存

apache - Htaccess - 如果未设置 env var 则跳过重定向

php - 配置 Apache、PHP5 FPM 和 MySQL 进行长查询

string - htaccess 如果查询字符串变量存在则重定向

apache - catalina.sh jdpa start 不启动服务器

linux - 从不同域访问多个网站