2011-03-22 60 views
0

在我的htaccess文件中,將URL轉換爲http://au.youpon?area=Melbournehttp://au.youpon/Melbourne。已經寫在.htaccess文件中的代碼,.htaccess和cookie php

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?area=$1 [L] 

正在工作,其中在jQuery的選擇框的URL和城市工作正常。

  1. 在index.php文件中,我使用的cookie的概念(如果用戶關閉瀏覽器,其中,將與最後選擇的城市加載

方案1: 如果我選擇了「墨爾本「,url會像這樣」http://au.youpon/Melbourne「中的一個cookie」CookieArea「墨爾本將被存儲,當我關閉瀏覽器並再次打開顯示」墨爾本「時,從cookie變量中,在jquery框中。) cookie正在工作,在這種情況下。

場景2: 如果我從index.php-> file2.php->返回到index.php,在這裏失敗,並在同一個jquery框中加載無效數據來代替城市名稱,這意味着cookie值會被無效數據覆蓋。 (代替「img/common/img/figure_quick_filter_01.png」等城市名稱顯示)。

這裏是存儲最後選擇的城市名稱的Cookie首選項代碼。

In index.php : 

if($_COOKIE['CookieArea']=="Select City"){ 
$cookieArea = ''; 
}else{ 
$cookieArea = $_COOKIE['CookieArea']; 
$cookieCountry = $_COOKIE['CookieCountry']; 
} 
... 
... 
... 
... 
//[AT THE EOF, STORING THE CITY NAME AND COUNTRY] 
setcookie("CookieArea", $area ,time()+(3600*24),'/'); 
setcookie("CookieCountry", $_SESSION['COUNTRYNAME'] ,time()+(3600*24),'/'); 

我不確定,究竟發生了什麼問題,無論是.htaccess還是cookie代碼。請幫助我,感謝你們所有人。

如果需要,可以發送更多細節。

+0

你說它會加載無效數據而不是城市名稱。城市名稱應該說什麼,它說什麼? – nitro2k01 2011-03-22 14:29:46

回答

1

這只是一個猜測,但也許你想通過GET參數(查詢字符串)發送數據,如http://au.youpon/Melbourne?something=something。這將通過您的重寫規則清除。爲了解決這個問題,添加QSA,將舊的查詢字符串和新的查詢字符串粘合在一起,這樣你就可以同時使用這個字符串

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?area=$1 [QSA,L]