使用.htaccess将子域名重定向到外部URL

20
我们需要从主站运行几个子域名,并将这些子域名指向与所需管理员处理的外部网站。
我只需要使用.htaccess重定向子域名到外部URL,以及任何有关在.htaccess文件中放置它的建议,例如放置在顶部,因为我知道这会影响某些重写规则。
我不会写下我认为应该的内容,因为这只会导致答案走向特定方向。
谢谢你们,
真的很感谢。
3个回答

36
如果您正在将子域重定向到另一个域,则`.htaccess`文件中不应该有其他内容。
 # This will redirect a subdomain to another domain
 RewriteEngine On
 RewriteCond %{HTTP_HOST} ^yoursubdomain\.yourdomain\.com$ [NC]
 RewriteRule ^(.*) http://www.newdomain.com/$1 [L,R]

这个方法不起作用,我以前尝试过这个完全相同的方法,但不知道为什么现在它似乎行不通了。我不确定原因是什么?有什么其他的想法吗? - Dan
这个方法很好,但我想知道...你知不知道有没有一种方法可以在不改变URL的情况下实现这个功能?这样页面会重定向,但地址栏仍然保持“yoursubdomain.yourdomain.com”。 - jlewkovich
@JLewkovich 没有办法去做那件事。地址栏的想法是告诉人们他们在哪里。不过你可以使用iframe引用另外的网站。 - Simon Hayter
第5-6行不起作用。是前面的定义影响了它吗?https://gist.github.com/santosh/134f7f3c36a6dd7f11f1 - Santosh Kumar
@JLewkovich,这个问题的答案已经在这里提供了。你只需要稍微调整一下子域名即可。 - Chris - Jr

1

我尝试了两个选项,但直到我删除了$和[L,R]才起作用。 这是对我有效的代码

 RewriteEngine On
 RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com$ [NC]
 RewriteRule ^(.*) http://newdomain.com.ar/?param=data&uparam2=data

希望它有所帮助。

1

这是我使用的代码,对我起作用了:

# BEGIN CUSTOM Redirects
# This will redirect a subdomain to another domain
RewriteEngine On
RewriteCond %{HTTP_HOST} ^pw\.example\.com$ [NC]
RewriteRule ^(.*) https://www.example.com [L,R

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接