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