将http://support.domane.comredirect到http://support.domain.com

我在这里打败了一场失败的战斗。 我有一个容易拼错的域名。 所以我买了拼写错误。 现在,我需要设置拼写错误的域名redirect到拼写正确的域名,但我需要保持子域。

例如:support.domane.com应该redirect到support.domain.com submit.domane.com应该redirect到submit.domain.com

我已经为我的域名设置了十几个子域名,我预计未来还有很多额外的子域名。 我真的宁愿不必在多个域中多次input它们。

我真的很想有一个链接着陆页,以防万一redirect不起作用。 就像“更新你的书签!1!” 页。 所以,如果一个解决scheme涉及到PHP或JavaScript,我也完全一样。

任何build议将不胜感激。

提前致谢,

Critologist

我需要redirect域,但保持子域不变。 http://sub.domane.com – > http://sub.domain.com其中sub是一个variables,两个URL都需要相同。

这可能有助于:

https://stackoverflow.com/questions/79764/wildcard-subdomains

你想要的是一个通配DNS的logging条目:

*.misspelled.com 

指向你的networking服务器。

在networking服务器上,您需要重写引擎来纠正拼写错误,并将301redirect到subdomain.correct.com。 这取决于你在服务器端运行的是什么,但Apache重写规则是常见的。

我不知道的方式,你也可以提供一个链接 – 什么样的浏览器不支持redirect? 也许如果你用PHP或类似的方式做,你可以发送一个redirect响应头和一个链接页面? 不知道这是否可以工作。 – 例子: http : //www.webconfs.com/how-to-redirect-a-webpage.php

(假设Apache是​​Web服务器。)

创build一个默认的VHOST

 RewriteRule ^/(.*)$ /foo.php [L] 

foo.php做类似的东西(我不知道PHP所以有psuedocode):

 $server_name = $_SERVER["SERVER_NAME"]; if ($server_name does-not-match "*.subdomane.com") { header("HTTP/1.0 404 Not Found"); exit; } $server_name = replace('subdomane.com', 'subdomain.com'); header("HTTP/1.1 301 Moved Permanently"); header("Location: " . $server_name . $_SERVER["REQUEST_URI"]); exit; 

以防万一redirect不起作用

301/302redirect工作,并已工作了很长时间。

如果你坚持,虽然你可以返回一个页面,有一个链接到非拼写错误的域名,并使用meta http-equiv="refresh"或JavaScript重新加载,但这是如此1996年。