Autor Zpráva
Janus1
Profil *
Zdravím..

rozumí tu někdo mod_rewrite? Já se do toho trochu dostávám, ale sotva jsem rozjela mod_rewrite na localhostu, zjistila jsem, ze stejný .htaccess nefuguje na ostrém serveru (pipni.cz - placený) .. :-(

Neuměl by mi někdo poradit, co s tím? kde co přepsat? .. případne, jestli existuje něco jako if(server===127.0.0.1)pouzij jeden prikaz else jiny prikaz?

Můj kód vypadá takto:

RewriteEngine on

# Pokud FYZICKY existuje soubor nebo adresář, zastavíme vykonávání pravidel
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.+$ - [L]

RewriteRule ^test.php$ /test.html [L]

RewriteCond %{ENV:REDIRECT_STATUS} ^/$
RewriteRule ^index.php$ / [L,R=301]

# odkazy
##############

#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([0-9]+)-([A-Za-z0-9-\_]+)/?$ ?cont=odkaz&cislo_id=$1&nazev=$2 [L] // tenhle radek funguje na localu

RewriteCond %{REQUEST_URI} ^/([0-9]+)-([A-Za-z0-9-\_]+)/?$
RewriteRule .* /?cont=odkaz&cislo_id=%1&nazev=%2 [L] //tyhle radky funguji na pipni.cz

Tuší nekdo, co s tím, prosím?
yFang
Profil
Janus1
Nestačilo by mít jeden .htaccess pro ostrý server a jeden pro localhost?
Janus1
Profil *
tomu jsem se prave chtela vyhnout... proto se ptam.. jestli by to neslo jinak. Kdyby ne, tak se neda nic delat, ale nikdy nemam jistotu, ze to co si vyladim pro local bude fungovat pak na ostrem
DJ Miky
Profil
Můžeš před pravidla dát RewriteCond kontrolující %{SERVER_NAME} nebo %{SERVER_ADDR}, popř. kontrolovat %{HTTP_HOST}:
# pravidla pro localhost
RewriteCond %{HTTP_HOST} ^localhost
RewriteRule ^([0-9]+)-([A-Za-z0-9-\_]+)/?$ ?cont=odkaz&cislo_id=$1&nazev=$2 [L] // tenhle radek funguje na localu 

# pravidla pro pipni.cz
RewriteCond %{HTTP_HOST} ^www\.tvujweb\.cz
RewriteCond %{REQUEST_URI} ^/([0-9]+)-([A-Za-z0-9-\_]+)/?$
RewriteRule .* /?cont=odkaz&cislo_id=%1&nazev=%2 [L] //tyhle radky funguji na pipni.cz 
Janus1
Profil *
Diky DJ miky :-) tohle funguje...

je zajimave, ze musim dat na localhostu podminku pred kazde pravidlo, aby mi to fungovalo na ostrem webu..

RewriteCond %{HTTP_HOST} ^localhost
RewriteRule ^([0-9]+)/?$ ?cont=odkaz&cislo_id=$1 [L]

RewriteCond %{HTTP_HOST} ^localhost
RewriteRule ^([0-9]+)-([A-Za-z0-9-\_]+)/?$ ?cont=odkaz&cislo_id=$1&nazev=$2 [L]

zatimco podminka pro ostra web staci jedna

RewriteCond %{HTTP_HOST} ^test\.muj-web\.cz

RewriteCond %{REQUEST_URI} ^/([0-9]+)/?$
RewriteRule .* /?cont=odkaz&cislo_id=%1 [L]

RewriteCond %{REQUEST_URI} ^/([0-9]+)-([A-Za-z0-9-\_]+)/?$
RewriteRule .* /?cont=odkaz&cislo_id=%1&nazev=%2 [L]

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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