Mieszane adresy z mod_rewrite

0

Witajcie

W chwili obecnej mój plik .htaccess wygląda następująco:

RewriteEngine on
DirectoryIndex index.php
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z-_0-9]+)/([a-zA-Z-_0-9]+)/([a-zA-Z-_0-9]+)/?$ index.php?id1=$1&id2=$2&id3=$3 [L]
RewriteRule ^([a-zA-Z-_0-9]+)/([a-zA-Z-_0-9]+)/?$ index.php?id1=$1&id2=$2 [L]
RewriteRule ^([a-zA-Z-_0-9]+)/?$ index.php?id1=$1 [L]

ErrorDocument 404 http://stronaprzykladowa.pl

dzięki temu w prosty sposób w dokumentach .PHP mogę odczytywać 3 człony adresu jako zmienne :

	function GetParams($id)
	{
		if(isset($_GET["$id"]))
		{
			$id=$_GET["$id"];
		}
		else
		{
			$id=false;
		}
		return $id;
	}
	  
	
	$id1 = GetParams('id1');
	$id2 = GetParams('id2');
	$id3 = GetParams('id3');

Powstaje jednak problem którego nie potrafię rozwiązać, szukałem i nic nie znalazłem dlatego zwróciłem się do Was o pomoc.
Chciałbym aby była możliwość wyciągnięcia opcjonalnego argumentu który nie jest opisany w pliku htaccess
np:
http://stronaprzykladowa.pl/strona-specjalna/?url=http://jakasstrona.pl/sd

Standardowy $_Get['url'] niestety działa tylko w przypadku adresu bez podania argumentu id1 , czyli :
http://stronaprzykladowa.pl/?url=http://jakasstrona.pl/sd
zaś już w przypadku
http://stronaprzykladowa.pl/strona-specjalna/?url=http://jakasstrona.pl/sd
nie działa

Mają panowie jakieś pomysły na rozwiązanie problemu ? Takie adresy stosuje m.in facebook, więc musi się to dać jakoś zrobić.
Myślałem też nad pobraniem całości adresu i wycinaniu fragmentów łańcucha, ale wydaje się to bardzo nie eleganckie :(
Pozdrawiam

0

nie doczytałem do końca, ale zapewne chodzi Ci o flagę QSA ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1