这不是一个真正的编程问题,更多的是关于可以直观地改变的设置。
我已经买了一个域名,想知道如何让它工作,除了我已经设置的东西(比如pop.example.com)被转发到www.example.com之前.example.com之前的所有东西。 com(或* .example.com)。
所以这样的东西:
转到相应的URL,但是:
是www.example.com的别名。
在DNSconfiguration中添加规则的选项有:
或者用.htaccess做这个更好? 如果是这样,我应该如何configuration它?
你需要两个:
在DNS区域设置一个条目(最后,最好的)
*.your_domain.foo. IN A 999.999.999.999 # correct this csi-like ip
域中的最后一个点非常重要。
这将匹配any.your_domain.foo您的IP。 你可以在其他子域/ IP的其他条目之前。
而在Apache /其他Web服务器你mus安装一个虚拟主机或东西来处理所有的请求一组ServerAlias / ServerName
ServerAlias *.your_domain.foo
再次将此Vhost放在最后,在默认的之前定义your_domain.foo中的任何现有虚拟主机。
Apache使用ascii有序的scheme加载configuration文件,所以把它放在一个099_default文件中,并在其他050_加上050_
在你的情况下,DNS应该让你使用*.yourdomain.foo. 在区域定义和我认为你可以使用mod_rewrite,如果启用achieve apache部分。 我认为有一些方法模拟虚拟主机使用SERVER_NAMEvariables作为条件重写。 检查http://httpd.apache.org/docs/2.3/rewrite/vhosts.html 。 我没有尝试过。
你在DNS中这样做。 如果你有一个理智的(bind-like)dns服务器,你想添加这样的东西到你的区域的configuration:
server.example.com. A 192.168.1.1 *.example.com. CNAME server.example.com.
它为通配符创build一个别名,并将其指向服务器的地址。您也可以直接执行:
*.example.com. A 192.168.1.1
但出于pipe理的原因,第一个解决scheme通常更好。 完成此操作后,您将创build一个反映您的www.example.com主机的全面通用虚拟主机。
使用星号:
* .example.com CNAME http://www.example.com http://www.example.com A 192.168.1.5
它被命名为乔克。 在你的DNSconfiguration中,把你想要的所有名称,然后添加该行
* CNAME www.example.com
所有未知的名字将被CNAMED到www.example.com