Autor Zpráva
OBr
Profil
Dobrý den.
Pomohli by jste mi prosím s úpravou těchto pravidel?


RewriteEngine On

RewriteBase /

RewriteCond %{QUERY_STRING} ^x=([^&]+)&lg=([^&]+)$
RewriteRule ^index\.php$ %1/%2/? [R=301,L]
RewriteRule ^([^/]+)/([^/]+)/$ index.php?lg=$1&x=$2&rw=1 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)$ index.php?lg=$1&x=$2&rw=1 [L,QSA]

RewriteRule cs /?lg=cs [QSA]
RewriteRule en /?lg=en [QSA]

RewriteCond %{QUERY_STRING} ^x=([^&]+)$
RewriteRule ^index\.php$ %1? [R=301,L]
RewriteRule ^([^/]+)/$ index.php?x=$1&rw=1 [L,QSA]
RewriteRule ^([^/]+)$ index.php?x=$1&rw=1 [L,QSA]

Na webzdarma mi fungují tak jak si představuji. Já hostuji na cesky-hosting.cz, kde se .htaccess nepoužívá. Na stránkcách píší: Pravidla pro mod_rewrite jsou nastavována v hlavním konfiguračním souboru webserveru Apache, proto se efekt pravidel může lišit od chování pravidel napsaných přímo pro aplikaci v souboru .htaccess. (viz http://www.cesky-hosting.cz/napoveda-detail-htaccess-mod-rewrite.html )
Správce mi poradil že se v konfiguračním souboru nevyskytuje např. RewriteBase. Jak se bez něj obejít? A jaké jsou další rozdíly?
Předem díky za pomoc.
Kajman_
Profil *
V nejlepším případě by mělo stačit přidat ve všech pravidlech rewriterule u druhého parametru to lomítko z rewritebase... tedy

RewriteCond %{QUERY_STRING} ^x=([^&]+)&lg=([^&]+)$
RewriteRule ^index\.php$ /%1/%2/? [R=301,L]
#RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]+)/?$ /index.php?lg=$1&x=$2&rw=1 [L,QSA]
RewriteRule (cs|en) /?lg=$1 [QSA]
RewriteCond %{QUERY_STRING} ^x=([^&]+)$
RewriteRule ^index\.php$ /%1? [R=301,L]
#RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ /index.php?x=$1&rw=1 [L,QSA]

A a možná bych odkomentoval ty přidané komentáře, aby nebyly problémy s normálními soubory.
OBr
Profil
Mockrát díky.
To vypadá dobře a na wz to funguje. Zkusim jím to poslat.
Tohle mě vůbec nenepadlo že to jde:RewriteRule (cs|en) /?lg=$1 [QSA]
Musím se ty reguláry fakt naučit.
Ještě jednou - díky.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0