无法访问该网站没有在WWW中的url

可能重复:
在Ubuntu上启用不带“www”的访问

我刚刚设置了我的第一个网站,并购买了我自己的第一个域名,但问题已经出现。

我注意到,我可以进入我的网站只与WWW在第一个url,例如这将工作WWW.DOMAIN.COM但这不会DOMAIN.COM

我需要什么使它工作? 先谢谢你!!!

这里有两个重要的考虑因素:DNS和虚拟主机configuration。

DNS是计算机将名称parsing为IP地址以确定名称引用的networking计算机的系统。 www.domain.com技术上domain.com一个域(尽pipe它很less被视为这样),并且可以parsing到域的根目录的不同IP地址。 通常的做法是为www.domain.com创build一个指向domain.com的CNAME(别名)logging。 这意味着如果您的服务器的IP地址发生变化,您只需要更新域的根的Alogging和www. 将效仿。 您的主机/域名注册商应该已经为您提供了一个控制面板,允许您修改域名的DNSlogging – 如果没有,或者您不确定如何操作,请联系您的托pipe公司寻求帮助。

虚拟主机是一个允许一个服务器负责由多个域提供的服务的系统。 共享主机环境使用这种系统。 为了使它工作,服务器需要被告知它负责的是哪个域。 对此的方法是多种多样的,但关键的一点是,自从域名www.www. 在技​​术上是不同的,服务器需要被告知他们实际上是指同一个资源。 这可能是您的托pipe公司的责任,以确保适当的configuration,如果您的DNSconfiguration正确,但仍然有问题,您应该联系他们让他们检查configuration。

这里有一些潜在的问题,但最可能的两个问题可能是:

  1. Apacheconfiguration:检查您的虚拟主机configuration,并确保您为此域指定了别名。 就像是:

     <VirtualHost *:80> ServerName yoursite.com ServerAlias www.yoursite.com DocumentRoot /path/to/root ErrorLog /path/to/logs/error.log CustomLog /path/to/logs/access.log combined </VirtualHost> 
  2. DNSconfiguration:确保当你ping yoursite.com和www.yoursite.com时,他们都指向同一台服务器。 您的DNSconfiguration可能会将www子域名指向不同的服务器。

你应该看看你的代码的根目录是否是www。 如果是这样,我build议你做下面的事情:1.把所有的代码(从www)上移一个杠杆(假设你有/ trunk / www,所以把你的代码移到trunk)。 2.用称为www的快捷方式将www目录replace为“trunk”目录。

如果这不起作用,您应该看看htaccess,以便您可以将DOMAIN.COM的调用redirect到WWW.DOMAIN.COM。

希望这有助于,问候,亚历克斯

如果你有权访问php.ini文件,可以在那里更改,但我猜你不知道。 另一种方法是创build一个名为.htaccess的文件,并将其放在网站的根目录下。 将此添加到文件中:

 Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^yoursite.com [NC] RewriteRule ^(.*)$ http://www.yoursite.com/$1 [L,R=301] 

当然,将“yoursite.com”更改为您的实际域名。