Autor Zpráva
alibagil
Profil *
Zdravím, potřeboval bych poradit.

V htaccess mám pravidlo, které vezme vše za lomítkem a použije to jako parametr:

RewriteRule /(.*)$ /index.php?zbozi=$1

Ale funguje to jenom při struktuře www.neco.cz/neco/11, pokud je adresa www.neco.cz/neco/neco/11, tak už to nefunguje, resp. parametr je v té chvíli ne 11, ale něco/11.

Dalo by se to pravidlo napsat tak, aby bylo jako parametr použito vše, co je za posledním lomítkem, že by tedy nezáleželo na tom, jak rozsáhlá je struktura před ním?
lionel messi
Profil
alibagil:
Výstrel naslepo:
RewriteRule /([^/]*)$ /index.php?zbozi=$1
Kajman
Profil
alibagil:
Problém bude s uvodním lomítkem v pravidle. Pokud je .htaccess v té první složce neco, zkuste

RewriteBase /neco/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?zbozi=$1 [QSA,L]
alibagil
Profil *
V podstatě to co jsem chtěl vyřešil příkaz lionela messiho, funguje perfektně, kromě jediného případu a to když je parametr přímo za doménou, bez podadresáře, tedy: www.neco.cz/11

To by nešlo ještě nějak doladit?

Ale to je jen detail, v každém případě to jak to teď funguje mi stačí.

V každém případě velmi děkuji za pomoc.
Kajman
Profil
Předtím jsem popletl, co je dobře a co špatně, zkuste
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*/)?([^/]+)$ index.php?zbozi=$2 [QSA,L]
alibagil
Profil *
Kajman: naprostá paráda, teď je to přesně tak, jak jsem si představoval. Vážně díky moc!

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0