使网站可用,而无需inputwww

我有一个可以通过www.example.com访问的网站。 现在我想让它也可以在example.com下访问。 我怎样才能做到这一点?

我有几个子名,例如test.example.com,test2.example.com等我也读了一下,发现应该使用htaccess从example.com永久redirect到www.example.com。

 RewriteCond %{http_host} ^example.com [nc] RewriteRule ^(.*)$ http://www.example.com/$1 [r=301,nc] 

所以现在应该没有重复的内容,它应该是SEO友好。 但是,我如何创buildA-record呢? 现在只有一个www.example.com。 如果我使用example.com创build一个,它将自动映射到example.com.example.com …

然后我必须在主机文件中添加一个条目。 这看起来像这样吗?

 192.168.1.1 example.com 

比我有一些虚拟主机的Apache的条目。 这个文件是正确的吗?

 <VirtualHost 192.168.1.1:80> ServerName www.example.com ServerAlias *.www.example.com ServerAlias example.com ServerAdmin [email protected] DocumentRoot /var/www/html/path <Directory /var/www/html/path> AllowOverride None Options +FollowSymLinks -Indexes -Includes +Multiviews +ExecCGI Order allow,deny Allow from all AllowOverride All </Directory> </VirtualHost> 

解:

 <VirtualHost 192.168.1.1:80> ServerName example.com Redirect 301 / http://www.example.com/ </VirtualHost> <VirtualHost 192.168.1.1:80> ServerName www.example.com ServerAlias *.www.example.com ServerAdmin [email protected] DocumentRoot /var/www/html/path <Directory /var/www/html/path> AllowOverride None Options +FollowSymLinks -Indexes -Includes +Multiviews +ExecCGI Order allow,deny Allow from all AllowOverride All </Directory> </VirtualHost> 

我用两个Alogging(一个用于www.example.com和example.com)指向Web服务器所在的IP地址。 另外,我在/etc/hosts有以下条目

 192.168.1.1 www.example.com example.com 

我也从鱿鱼陈述我的白名单:

 .example.com 

但是,我如何创buildAlogging呢? 现在只有一个www.example.com。 如果我使用example.com创build一个,它将自动映射到example.com.example.com …

为什么example.com.example.com? 只要让你的DNS主机放入一个@(域本身)的Alogging,指向服务器的IP地址。

然后我必须在主机文件中添加一个条目

不是,如果它在DNS中,不,如果没有。

比我有一些虚拟主机的Apache的条目。 这个文件是正确的吗?

我个人的偏好是将“裸”域名放在自己的部分,用一个简单的Redirect permanent指令推送用户到www网站。

这将避免必须parsing带有条件redirect的.htaccess文件的(不可否认的)性能命中。

这也意味着你将得到两个名字的单独的日志文件。 恕我直言,这是一件好事 – 它可以更容易地告诉哪些域用户实际上来自哪里,避免在一个虚拟服务器内完成日志中的重复input。

至于DNS入口,你应该这样做:

 example.com. A 192.168.xy www.example.com. CNAME example.com. 

如果你只有主机文件进行testing,所以应该这样做:

 192.168.1.1 example.com 192.168.1.1 www.example.com 

在这种情况下,虚拟主机文件应该是这样的:

 <VirtualHost 192.168.1.1:80> ServerName example.com ServerAlias *.example.com ServerAdmin [email protected] DocumentRoot /var/www/html/path <Directory /var/www/html/path> AllowOverride None Options +FollowSymLinks -Indexes -Includes +Multiviews +ExecCGI Order allow,deny Allow from all AllowOverride All </Directory> 

不应该使用htaccess文件