Magnar Asked: 2009-05-01 03:40:24 +0800 CST2009-05-01 03:40:24 +0800 CST 2009-05-01 03:40:24 +0800 CST 如何强制我的网址始终以 www 开头? 772 我想确保即使用户www.mydomain.com通过别名到达也能到达mydomain.com。这样我就可以控制子域上的 cookie,并且让 Google 看到一个单一的域,而不是一个大杂烩的 URL。 我怎么能用apache做到这一点? apache-2.2 url rewrite redirect 5 个回答 Voted Best Answer Dave Cheney 2009-05-01T03:43:54+08:002009-05-01T03:43:54+08:00 <VirtualHost ip:80> ServerName domain.com RedirectMatch permanent ^(.*)$ http://www.domain.com$1 </VirtualHost> <VirtualHost ip:80> ServerName www.domain.com ... usual config </VirtualHost> Magnar 2009-05-01T03:42:30+08:002009-05-01T03:42:30+08:00 将此添加到您的httpd.conf文件中: Options +FollowSymLinks RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^www\.mydomain\.com$ [NC] RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L] Richard Slater 2009-05-01T03:43:14+08:002009-05-01T03:43:14+08:00 启用 mod_rewrite 支持,然后在您的域的根文件夹中创建一个 .htaccess 文件,其中包含以下内容: <IfModule mod_rewrite.c> Options +FollowSymLinks Options +Indexes RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^domain\.com$ RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L] </IfModule> Robin Rodricks 2009-05-30T22:54:22+08:002009-05-30T22:54:22+08:00 如果您确实希望 Google 使用特定的域样式(带或不带www),那么创建一个免费的Google 网站管理员工具帐户,验证您的域的所有权(上传文件)并使用在线控制面板设置您的首选域。 就这么简单,您不需要更改任何服务器端代码,带有或不带有www的入站链接也将被视为相同的增加页面的 PageRank。 链接可能会同时使用 www 和非 www 版本的 URL(例如 http://www.example.com和 http://example.com)指向您的网站。首选域是您希望在搜索结果中用于您的站点的版本 。 一旦您告诉我们您的首选域名,我们将在显示 URL 时考虑您的偏好。您可能需要一些时间才能看到这一变化完全反映在我们的索引中。 如果您未指定首选域,我们可能会将域的 www 和非 www 版本视为对单独页面的单独引用。 Tom 2009-10-14T03:57:39+08:002009-10-14T03:57:39+08:00 我遇到了相反的问题,当我只想直接从 domain.com 提供服务时,人们会访问 www.domain.com: <VirtualHost *:80> ServerName domain.com ... usual config </VirtualHost> <VirtualHost *:80> ServerName www.domain.com ServerAlias sub.domain.com # can also catch some other subdomains ServerAlias *.domain.com # or all previously unmatched domains Redirect permanent / http://domain.com/ </VirtualHost> 正如 Greg Hewgill 所提到的,使用 Redirect 比 RedirectMatch 简单一些,并且可以完成相同的工作,有关更多详细信息,请参阅http://httpd.apache.org/docs/2.0/mod/mod_alias.html#redirect。
将此添加到您的
httpd.conf
文件中:启用 mod_rewrite 支持,然后在您的域的根文件夹中创建一个 .htaccess 文件,其中包含以下内容:
如果您确实希望 Google 使用特定的域样式(带或不带www),那么创建一个免费的Google 网站管理员工具帐户,验证您的域的所有权(上传文件)并使用在线控制面板设置您的首选域。
就这么简单,您不需要更改任何服务器端代码,带有或不带有www的入站链接也将被视为相同的增加页面的 PageRank。
我遇到了相反的问题,当我只想直接从 domain.com 提供服务时,人们会访问 www.domain.com:
正如 Greg Hewgill 所提到的,使用 Redirect 比 RedirectMatch 简单一些,并且可以完成相同的工作,有关更多详细信息,请参阅http://httpd.apache.org/docs/2.0/mod/mod_alias.html#redirect。