在我的htaccess文件中,将http://au.youpon?area=Melbourne之类的网址转换为http://au.youpon/Melbourne。已将.htaccess文件中的代码编写为
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?area=$1 [L]
这是有效的,其中jquery选择框中的URL和城市工作正常。
场景1: 如果我选择“墨尔本”,网址将像“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 :(得分: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]