WWW和非WWW URL。两个不同的网站

时间:2011-07-02 00:05:32

标签: html redirect

我今天刚刚注意到我正在创建的网站有WWW或非WWW问题。如果你去http://www.taskconductor.com,它是一个不同的页面,其内容与http://taskconductor.com相同。

如果您要登录http://www.taskconductor.com登录(用户名:show@412customs.com,Pass:tester),请尝试访问http://taskconductor.com(没有WWW),它会让你再次登录。然后如您所见,当您检查Cookie时,您可以看到有两组Cookie。一个用于http://taskconductor.com,另一个用于http://www.taskconductor.com。

我已经看到这是一个问题,但我需要进行重定向吗?如果是的话,它必须是index.php吗?我真的更喜欢将所有主要内容都放在index.php上。

我怎样才能解决这个问题?

4 个答案:

答案 0 :(得分:4)

我能够设置我的php“setcookies”以拥有指定的域名。

我原来的setcookie字符串是:setcookie('ver_ame',$ email,time()+ 2592000);

这只允许在任何类型的页面上设置cookie。如果它在http://taskconductor.com上,它将为此设置cookie,如果它是http://www.taskconductor.com也是如此。

如果你的setcookie字符串是:setcookie('ver_ame',$ email,time()+ 2592000,“/”,“。taskconductor.com”);

附加的“/”表示cookie可以在根目录下的任何目录上运行。 “.taskconductor.com”部分将显示要使用的域。它在网络名称之前有一段时间表明此cookie可以在任何子域或其自己的域上运行。

谢谢大家的回复和帮助!现在一切正常!谢谢!

答案 1 :(得分:3)

您知道您使用的是哪种Web服务器吗?如果您使用的是apache,则可以重写.htaccess文件中的URL。这样,您就可以将所有流量汇集到非www域。我做了一个快速谷歌并找到了这个示例代码:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

来源:http://yoast.com/how-to-remove-www-from-your-url-with-mod_rewrite/

答案 2 :(得分:2)

比使用URL重写更好的方法是将cookie设置为适用于子域。例如,如果您为mydomain.com设置了cookie,那么它将不适用于sub.mydomain.com。但是,如果您为.mydomain.com设置了cookie(请注意句点),那么它将适用于mydomain.com,sub.mydomain.com,foobar.mydomain.com等。

答案 3 :(得分:0)

如果您明确将cookie domain设置为taskconductor.com(无www),则同一组Cookie将用于www和裸域。您只需要修改PHP以指定cookie域。

我建议您按照其他人的建议进行操作,然后重定向到您要用作规范网址的任何版本。在多个(子)域中存在重复内容是不好的做法。但是,了解您设置的cookie的域范围也是一个好主意。