Autor Zpráva
Timy
Profil
Vím, že už to tady bylo, ale nejsem schopný to znova najít. Potřeboval bych, aby se mi při napsání stranka.cz/kontakt otevřela stránka stranka.cz/index.php?page=kontakt.
djlj
Profil
Timy
A má v adrese zůstat stranka.cz/kontakt?
Pokud jo, tak nějak takto:

RewriteCond %{REQUEST_URI} ^/([a-z0-9_]+)$
RewriteRule ^(.+)$ index.php?page=$1 [L]
stribny
Profil
Na intervalu jsem našel

RewriteRule ^(.*)\.html$ %{DOCUMENT_ROOT}/index.php?stranka=$1 [L,QSA]

takže teoreticky stačí dát pryč to .html, ne?
Timy
Profil
stribny
teoreticky :-)

djlj
Jo, funguje, díky. Jen moc nechápu, proč mi to u mě na lokálu neběží, ale na netu jo. Mod_rewrite zapnutý mám, používal jsem právě stranka.html => index.php?page=stranka, což mi šlapalo, ale tenhle zápis to nějak nechce zkousnout (hlásí to The requested URL /slozka/stranka was not found on this server)... Nevíš, kde může být chyba? (mám EasyPHP)
Kajman_
Profil *
RewriteEngine On
RewriteBase /slozka
RewriteRule ^([a-z0-9_]+)$ index.php?page=$1 [L,QSA]
djlj
Profil
Timy
To nevím, mně u EasyPHP mod_rewrite nešel vůbec :).
Timy
Profil
Kajman_
Díky, teď už to běží všude.

djlj
Tak to jsem asi dokázal nemožné :-).
Timy
Profil
Tak ještě jeden dotaz: Když použiji adresu stranka.cz/ahoj-svete, tak mi to vyhodí nějakou strašlivou chybu, že nemůže najít požadovanou stránku, patrně kvůli té pomlčky, protože když místo pomlčky použiji podtržítko _, tak to běží, nevíte, v čem může být chyba? Tu pomlčku bych tam rád dostal.
gaminn
Profil *
Přidej do regulárního výrazu v RewriteRule pomlčku, nemáš ji tam (pokud používáš kód napsaný Kajmanem).
Timy
Profil
A teď bych tam potřeboval přidat ještě dvojtečku :-)

Zkoušel jsem něco takového - RewriteRule ^([a-z0-9_:-]+)$ index.php?page=$1 [L,QSA], ale to háže chybu (forbidden). Zkusil jsem před dvojtečku ještě vrazit zpětné lomítko, to mi taky nefungovalo (taktéž forbidden).
Timy
Profil
Už to není třeba, vyřešil jsem to jinak, spokojil jsem se s pomlčkou.
zdick
Profil *
Timy: dvojtecka je rezervovany znak, pokud ho chces v reqularnim vyrazu pouzit, musis znak escapovat lomitkem:
RewriteRule ^([a-z0-9_:-]+)$ index.php?page=$1 [L,QSA]
zdick
Profil *
a, tak to lomitko se mi tam ani nezobrazilo... zkusim to jeste jednou:
RewriteRule ^([a-z0-9_\:-]+)$ index.php?page=$1 [L,QSA]

(doufam ze se to zobrazi spravne)
Toto téma je uzamčeno. Odpověď nelze zaslat.