通过 httpd.conf 从临时服务器的子域名中删除 WWW

通过 httpd.conf 从临时服务器的子域名中删除 WWW

我正在尝试设置一个临时服务器作为生产服务器的子域运行,但遇到了一个小问题。

我的生产服务器托管在 RackSpace 虚拟机上。我克隆了这台机器以用作我的暂存服务器。我还添加了A记录以将子域地址指向这个新的虚拟机。

我希望能够通过键入 来访问此暂存服务器staging.domain.com,但目前无法使用。我发现有效的解决方法是键入。请注意子域前面的www.staging.domain.com额外内容。www

我的目录结构是这样的,在我的项目目录中,我有一个public_html目录(显然包含可公开查看的文件)和一个目录private(包含更多后端代码)。我希望/var/www/staging.domain.com/public_html/index.php当我访问时,Apache 充当默认文件staging.domain.com

如上所述,我目前只能通过访问 来获取我想要的内容www.staging.domain.com。当我访问 时,staging.domain.com我会被重定向到www.staging.domain.com/staging.domain.com/public_html

我的 httpd.conf 设置如下(我绝对不是这个文件的配置专家):

<VirtualHost *:80>
    # General Server Setup
    ServerAdmin [email protected]
    ServerName  www.staging.domain.com
    ServerAlias staging.domain.com

    # Indexes + Directory Root
    DirectoryIndex index.php index.html
    DocumentRoot /var/www/staging.domain.com/public_html
    <Directory /var/www/staging.domain.com/public_html>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            Allow from all
    </Directory>
</VirtualHost>

我很确定我之前提到的重定向是由于我DocumentRoot在这个文件中指定的而发生的。

此外,我尝试了许多不同的组合CNAMEA记录试图让它发挥作用,但我也愿意接受您可能提出的任何其他建议。

更新

我没有为我的.htaccess文件指定任何内容,因此这不会影响任何事情。

我当前对此服务器的 DNS 记录是:

类型 名称 内容 TTL
 A staging.domain.com XX.XX.XX.XX(服务器IP) 300
 A www.staging.domain.com XX.XX.XX.XX(服务器IP) 300

我确实没有想到可以与您分享的其他配置信息。如果您能想到任何信息,请直接询问。

答案1

事实证明,目录.htaccess中有一个默认文件/var/www/导致了此操作。我按照@Shane_Madden 的建议将其删除,从而解决了问题。

相关内容