我一直是这样,现在挣扎了两天。的.htaccess国防部重写规则和&
目前我有以下重写规则:
RewriteRule ^(.*)$ index.php?u=$1 [NC,L]
哪些端口一切背后example.com/到index.php作为GET变量u。这是在index.php中正在处理与爆炸以限定TE不同的参数是:连接的位置(第二个参数)
此完全适用于以下网址城市(第一斜线之间):
example.com/City/location/或example.com/City/location
example.com/City/或example.com/City
主要生产:
$arg[0] = city
$arg[1] = location
问题发生的要价较高时离子具有and符中的位置名称:
example.com/city/location&more
转换为:
index.php?u=city/location&more
的问题是显而易见的;我可以因为位置名称的第二部分没有存储在$ _GET [“U”]没有的index.php再使用爆炸参数。
我该如何解决这个问题?
我觉得三个解决方案,我不知道如何实现:
1)重写重写规则的城市和地点分开使用进行urlencode的的.htaccess相当于改造的.htaccess
2)在& -sign为%26
3)一个完整的其他解决办法:)
Thanx提前!
编辑 首先: 当链接是由我的网站产生的它被翻译用urlencode。所以不存在&那里不应该有一个。 的&是业务的一部分namen这样的:“百吉饼&豆” 当人们想搜索这家公司,他们键入:www.example.com/city/bagels &豆在URL字段。 ,这就是问题的开始。
编辑2 当我去:example.com/city/bagels%26Beans 将其转换为以下内容:$ _ GET:
Array
(
[u] => city/Bagels
[Beans] =>
)
编辑3 我爆炸的方式$ _GET ['u']形成参数。
$arg = explode('/',$_GET['u']);
你用于爆炸的PHP代码是什么? (你在爆炸?) – 2010-01-08 12:55:27
我已经把它放在我的问题,在编辑3 – blub 2010-01-08 13:07:22