我可以使用CNAME发送到另一台服务器上的目录,或只有根页面?

假设我的主要网站是www.mySite.com 。 path是:

 /home/itsme/public_html/ 

我想在staging.mySite.com上设置一个登台服务器,它将redirect到:

 /home/itsme/public_html/staging 

我可以用CNAME做到这一点吗?

 staging CNAME www.mySite.com/staging. 

还是会失败,因为目的地不是根域?

这是行不通的。

DNS中的CNAMElogging使另一个域名的别名成为另一个域名的别名,并且没有连接到url的任何其他部分。

你可以做的是在DNS中使用一个CNAME或多个Alogging,以确保两个地址指向同一台机器,然后在该机器上configuration你的networking服务器,使多个虚拟主机响应不同的名称。

你如何做这将取决于你正在运行的networking服务器软件。 在Apache虚拟主机文档中介绍了如何使用Apache。

好的。 那么你有这样一个部署过程的很多可能的解决scheme。

唐写的是一个很好的。 如果您使用的是Apache虚拟主机,则可以非常方便地在IP上托pipe多个独立站点,但只有在您可以控制DNS或要应用本地静态主机configuration(/ etc / hosts或%SystemRoot%\ system32 \ DRIVERS \等\主机)。

你必须了解HTTP的工作原理。 我不知道你有多深。 简而言之:这个想法就是创build一个新的域名,例如,就像“test.YOURDOMAIN.COM”一样,让它拥有完全自己的目录,而不是一个子目录。 如果您在客户端上input您的HOSTS文件,则可以使用浏览器实际访问您的服务器上的该网站,该网站实际上并不托pipe该域,但是使用该主机configuration,浏览器将要求testing域并检索这些文件,如果您正确configuration您的服务器。 在你的情况下(实际上你似乎有DNS访问),你可以把主机文件部分,因为也许你真的可以configuration自己的子域名。

这种方法很好,因为您可以轻松切换 – 无需中断服务或发生副作用(启用/禁用站点,重新configurationApache)。 如果访问不被禁用,服务不可用,你将不必乱七八糟的目录和创build可能疯狂的文件系统状态…一个沉重的负载网站的混乱 – 或者如果你想保持服务质量 – 更好的方法。

所以如果你想这样做,你有一个Apache,你会…

  1. 使用虚构的域名前缀创build虚拟主机( http://httpd.apache.org/docs/2.2/en/vhosts/
  2. 应用您的制作虚拟主机,让您的客户仍然到达您的网站,testing两次,tunneld 🙂
  3. 将域名添加到您运行testing的主机文件中
  4. 检查它是否真的有效,您的网站仍然可用

对于Debian GNU / Linux服务器环境,可以给你更详细的提示。 RHEL派生我没有足够的经验。