А бе колко още такива
теми ще правите ?
Първо няма забранени знаци, а специални/резервирани тоест имат някакво допълнително предназначение. Това, което се опитвате да направите не може да стане по начина по който искате или поне не изцяло. Все пак, може да се ползва флага "B"(от apache версия 2.2) към директивата "RewriteRule", което ще кодира допълнително специалните знаци в заявката преди мапването с новия адрес.
Код:
# url: http://domain.bg/android/dasdas!@$&Dfsd<++>fssda=das
RewriteRule ^android/(.*)$ index.php?page=android&name=$1 [B,L]
Така в $_GET['name'] ще имаш стойността "dasdas!@$&Dfsd<++>fssda=das". Щастието няма да е пълно, ако решиш да ползваш "?" някъде в адреса или пък "#". Първия е резервиран за оказване на началото на query string частта което без флага "QSA(Query String Append)" при тази директива няма да се добави към мапнатия адрес, но дори и с него няма да се добави в $_GET['name'] заедно със специалния знак както ти искаш да стане. Втория също си има свое предназначение, но той и всичко след него няма да се прати към сървъра.
За да може да стане това което искаш тези знаци трябва да бъдат екрнанирани/ескепнати иначе няма да се получи.
Надявам се не правиш глупост от рода на "urldecode($_GET['name'])", стойностите в елементите на свръхглоблни като $_GET и $_REQUEST са автоматично декодирани.