Autor Zpráva
David1256
Profil
Dobrý den,

snažím se rozchodit hezké url, ale nějak mi to nejde. Brouzdal jsem po různých návodech, ale asi stále něco dělám špatně. Do .htaccess jsem napsal toto:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/([^/]*)/([^/]*)/$ index.php?id=$1 [L,QSA]
Pochopil jsem to tak, že když zadám adresu index.php/1, tak budu mít v $_GET['id'] také 1, ale není tomu tak. Mohl byste mi někde poradit, jak mám tedy z adresy index.php/1 vydolovat hodnotu 1? Vím, že podobných dotazů tu bylo hodně, ale ani jeden mi zatím nepomohl.

Děkuji.
Davex
Profil
David1256:
Regulární výraz ^/([^/]*)/([^/]*)/$ vyžaduje tři lomítka v cestě a předává dvě hodnoty. Pokud je cesta bez lomítka a jen s jednou hodnotou, tak tam musí být ^([^/]*)$ (v .htaccess bez úvodního lomítka).
suvel
Profil
David1256:
Kdyby to nemuselo být za každou cenu pomocí htaccess, jednoduše se dají dělat pěkná kouzla javascriptem: location.search, a to nejen získat z adresy hodnoty za otazníkem, ale i je měnit.
Tori
Profil
David1256:
Další možnost je použít universální obecné pravidlo a zpracovat si požadovanou adresu až v PHP.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0