2013-06-04 51 views
0

我有一個我正在實施的購物車(衆所周知的公司和一個可靠的平臺) - 它基於PHP/Smarty。行爲差異www.foosite.com與foosite.com

如果我把www.foosite.com/store/放到我的瀏覽器中,效果很好。

如果我將foosite.com/store/放入瀏覽器中,它不會正確填充保存的cookie變量。另外,我注意到它在我的.htaccess/.htpasswd塊中提示我兩次。

那麼,它是什麼關於www。與沒有這樣做會導致網站行爲有如此巨大的差異?有沒有辦法解決它?

回答

1

很好的解決方案來解決,這將是在你的.htaccess中加入一個重寫規則,迫使「WWW」,這樣的事情:

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^$ 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTPS}s ^on(s)| 
RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
+0

OK,酷 - 謝謝。這種.htaccess是否可以解決您作爲標準做法始終處理的某些問題 - 或者在我的情況下,它是針對我網站中某些設計缺陷的「創可貼」解決方案? –

+0

我確實在我們的一些網站中使用這個技巧,它們需要始終使用'www'進行訪問,但每種情況都不同,在您的情況下,很難知道沒有看到您的代碼,或者您的平臺如何使用被執行。關於cookie我猜它必須做與他們各自的域值設置的方式(看看這裏,有一個很好的答案http://stackoverflow.com/questions/1062963/how-do-browser -cookie域工作)。 – Julien

+0

非常好 - 謝謝Julien! –