【发布时间】:2010-03-13 19:00:53
【问题描述】:
我要做的是将进入 example.com 的网站访问者重定向到 www.example.com。
我会使用标准重定向来执行此操作,但我不知道如何创建特定于 WWW 或非 WWW 地址的站点。
我看到 Firefox 认为我的网站在 WWW 版本中明显不同,因为它在不使用缓存的情况下重新加载它。如何制作非 WWW 特定的 index.html 页面以将它们重定向到 www.example.com?
【问题讨论】:
我要做的是将进入 example.com 的网站访问者重定向到 www.example.com。
我会使用标准重定向来执行此操作,但我不知道如何创建特定于 WWW 或非 WWW 地址的站点。
我看到 Firefox 认为我的网站在 WWW 版本中明显不同,因为它在不使用缓存的情况下重新加载它。如何制作非 WWW 特定的 index.html 页面以将它们重定向到 www.example.com?
【问题讨论】:
试试这个mod_rewrite 示例:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
这会将www. 附加到主机不是以www. 开头的每个请求,并通过永久重定向重定向到它。 URI 协议也被保留,但您可能希望添加一个条件以仅重定向特定的请求方法(如 GET 和 HEAD)。
【讨论】:
如果您使用 IIS,只需创建一个新网站,添加“mydomain.com”标头并使用 IIS 重定向功能重定向到 www.mydomain.com。
【讨论】:
您可能想查看这个与 IIS 讨论它的链接,这就是 stackoverflow.com 的做法……您很可能会颠倒事情的工作方式。
在 Jeff 的示例中,他正在从 URL http://www.stackoverflow.com/ 中删除 {www.},但对您而言,听起来您可以使用他的示例并执行相反的操作。
Jeff Atwood's Example for how they did it for StackOverflow.
【讨论】: