当我询问超级用户时 ,我被告知在服务器错误上询问 ,这对我很有意义,所以在这里。
我喜欢没有www的外观,但是有些担心缺点,比如在根目录和所有子域之间共享cookie(不是我现在实际上对cookie有什么了解,但是我确实希望以后可以使用)。
我的猜测是这可能可能通过某种别名types的东西。 但我可能是错的,所以在这里我问。
所以,澄清,是否有可能在http://foo.com/地址栏中,而实际上是http://www.foo.com/访问?
编辑 :我打算主办NearlyFreeSpeech.NET 。 服务器是Apache,我猜测操作系统是Linux的一些味道。
编辑2 :那么你真的明白我的意思吗? 我在寻找的是这样的:当浏览网站时, http://foo.com/就是他们在地址栏中看到的,但是http://www.foo.com/是被访问的。 我不得不说,Xorlev的答案看起来最接近,但是考虑到潜在的Cookie问题,我将要使用共享IP主机。
是。 根据Web服务器configuration,您可能不需要执行任何操作(如果使用基于IP的虚拟主机,或者根本不使用虚拟主机),或者使用ServerName和ServerAlias指令configuration基于名称的虚拟主机。
在Apache中,这看起来像:
NameVirtualHost *:80 <VirtualHost *:80> ServerName foo.com ServerAlias www.foo.com # Virtual host document root, logging, other configuration here </VirtualHost>
foo.com也需要DNS。 和www.foo.com。 解决到相同的地址。
如果我被允许,我会发表评论。
Charles的回答是正确的。 有一件事你可能想做一点不同的事情。 我正常地将foo.com DNS条目设置为IPlogging的Alogging,并将foo.com的CNAMElogging设置为www.foo.com条目。 所以如果你的IP改变,你不需要改变这两个。 但这是一个小细节。
我不认为这些答案。 您的主要问题是使用cookies:如果您将它们设置为example.com ,则浏览器将为*.example.com发送它们,其中包括静态内容(如images.example.com或static.example.com 。 您的问题在于临时caching(如caching代理甚至浏览器)可能会拒绝caching使用Cookie请求的任何内容。 这将负载发送回您的主服务器。
许多人build议有一个www子域,以便您可以从那里提供您的cookie,而不是让他们发回您的static子域名。 不幸的是,如果你这样做,你不能得到一个无www的URL。 我的build议是对静态内容使用完全不同的顶级域名:
主要: example.com
静态: examplestatic.com
以twitter.com为例。 他们没有www ,他们从twimg.com提供图片和CSS。
如果包含www,则可以重写url。
有些东西是:
RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.NearlyFreeSpeech\.NET [NC] RewriteCond %{HTTP_HOST} !^$ RewriteRule ^/(.*) http://NearlyFreeSpeech.NET/$1 [L,R=301]
不能完全确定,可以开箱即用,但应该接近。
不pipe你select哪个域名,都要记住它的后果。 来自search引擎的索引受到您的select的影响。
iE Google: http : //www.google.com/support/webmasters/bin/answer.py?hl= zh_CN& answer= 44231
在example.com的主页上,您可以在iframe中显示网站www.example.com,所以当用户前往并查看example.com时,cookie将来自www.example.com。
我不知道这些cookie,但就通过http://example.com和http://www.example.com访问您的网站而言,您需要将域Alogging添加到您的DNS区域指向您的Web服务器的IP地址。 你可能会也可能不需要在你的网站上添加主机头来工作,我不记得,也没有一个服务器,方便检查。
是的,这是可能的,我推荐它。
您可能需要添加永久性redirect,以便“example.com/*”redirect到“www.example.com/”。 你不会说你使用的是什么Web服务器,但是它们中的任何一个都应该很容易。