我一直是這樣,現在掙扎了兩天。的.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