Autor Zpráva
Fapik
Profil *
Zdravím,
již delší dobu se snažím pomocí htaccess docílit hezkých url.
Zatím to mám tak, že když uživatel zadá neco.cz/pepa, tak to je jako kdyby zadal neco.cz/index.php?kam=pepa. Ovšem potřeboval bych i složitější, a nevím jak toho docílit. Takže například aby zadal neco.cz/pepa/strana/5/razeni/asc místo neco.cz/index.php?kam=pepa&strana=5&razeni=asc.
Jak na to? Zatím mám toto:

RewriteEngine On
RewriteBase / 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f

# Normální stránka
RewriteRule ([a-zA-z]+)/?$ /index.php?kam=$1 [L,QSA]

Děkuji
Str4wberry
Profil
Není zbytečné se s tím defekovat v .htaccess? Co rozsekat $_GET["kam"] podle lomítka v PHP a podle indexu vzniklého pole si určit co je co?
Fapik
Profil *
To mě vůbec nenapadlo, díky :).
Paul
Profil *
Zdravím,
snažím se už pěkných pár hodin o zdánlivě jednoduchou věc a stále se nedaří, je o tomto všude spoustu, ale bohužel mě nefunguje nic, snažím se udělat pouze jednoduchou věc a to z: http://domena.cz/index.php?stranka=uvod na: http://domena.cz/uvod/
zkoušel jsem spoustu kombinací a buď vyskočí http chyba 500,nebo podobné, kde mám chybu?
RewriteEngine on
#nefunkční
RewriteRule ^(.*)/?$ /index.php?stranka=$1 [L,QSA]  
RewriteRule (.*)/?$ /index.php?stranka=$1 [L,QSA] 
RewriteRule ^([^/]*)/$ /index.php?stranka=$1 [L,QSA]
#a spoustu dalších

zkoušeno na localhostu, doplněna i kompletní adresa, většinou to končí chybou 500.
Omlouvám se, že píši sem, ale nechtěl jsem v tomto případě zakládat nové vlákno, díky za všechny rady ..
Str4wberry
Profil
Zkus se řídit dle tohoto.
Paul
Profil *
zapnutou funkci mám, tahle konfigurace funguje bez problému:

RewriteRule (.*).html$ /index.php?stranka=$1 [L,QSA]  #domena.cz/uvod.html

#nebo
RewriteRule test-(.*)$ /index.php?stranka=$1 [L,QSA]  #domena.cz/test-uvod

ale pouze beze všeho nefunguje, už nevím..
zkoušel jsem i přesměrování zde na diskuzi a OK.
Davex
Profil
Paul:
Tvá pravidla se zacyklí, protože přepsaná adresa vyhovuje regulárním výrazům ^(.*)/?$ a .*)/?$. Samotné třetí pravidlo by mělo fungovat, protože regulární výraz zabere jen na adresu s lomítkem na konci, které se v názvu skriptu index.php nevyskytuje.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0