Autor Zpráva
smid83
Profil *
Ahoj poradí my někdo? vytvořil jsem v htaccess něco takoveho

RewriteEngine on
RewriteRule   prvni\.php?(.*)   /druha.php [R=301,QSA,L]
RewriteRule druha\.php? /treti.php?$1

A potřeboval bych když napišu do url prvni.php?kun
tak aby se mi přesměrovala druha.php stím že podstrčená třetí.php bude mít za otazníkem to same co jsem zadal do první(kun)
šlo by to nějak upravit?promněna $1 mi nefunguje
dekuji
Kajman
Profil
V $1 na 3. řádku nic není - na třetím řádku totiž není nic v závorce. Navíc query stringy nejsou součástí cesty kontrolované v RewriteRule.

RewriteEngine on
RewriteRule ^prvni\.php$ /druha.php [R=302,NE,L]
RewriteRule ^druha\.php$ treti.php [L]

Při zadání prvni.php?kun se v adresním řádku změní adresa na druha.php?kun a tento nový požadavek se interně přepíše na treti.php?kun

Pozn. pokud se v nové adrese nepoužije otazník pro oddělení query stringu, tak se QSA použije automaticky - tedy budou zachovány GET parametry.
smid83
Profil *
KajmanNojo jenže když podle tebe zadam prni.php?kun tak se mi to pře smeruje na druha.php?kunAle ja potřebuju aby v podstrčené třetí kun byl ale v url už nešel vidět aby šlo už jen vidět druha.php
Kajman
Profil
To přeci nejde. Na adresu druha.php jde nový požadavek prohlížeče.

Pokud nebudete přesměrovávat v .htaccess, tak můžete zkusit v prvni.php nastavit session a pak přesměrovat přes funkci header. Uložené věci v session si pak v druha.php vytáhnout a pracovat s němi. Ale vyhledávače atp. asi session neudrží - požadavky se mohou protáhnout, nemusí tam být rychlý druhý požadavek, jak u běžných prohlížečů.
smid83
Profil *
Jsem pravě myslel že by to šlo nějak tahle prvni\.php?(.*)
že by si to prave ten třeti vytahl treti.php?$1Jsem mysle že ten druhy řádek RewriteRule se dá nějak kombinovat stím prvním že si to dokažou předat
četl jsem když se používá více řadku tak se přidava [OR] nevim jinak děkuju za snahu

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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