URL rewrite a dodatocny query string

Programovacie jazyky, rady, poradňa...
Holubar
Darca
Darca
Používateľov profilový obrázok
Príspevky: 3894
Registrovaný: 24 feb 2005, 21:26
Bydlisko: Senec
Kontaktovať používateľa:

URL rewrite a dodatocny query string

Príspevok od používateľa Holubar »

Snazim sa doplnit jeden GET parameter do adresy, ktora uz je prepisana cez htaccess.

Teda napr. http://www.stranka.sk/dokumenty/?rok=2010

Odkaz http://www.stranka.sk/dokumenty/ odkazuje napr na stranku http://www.stranka.sk/index.php?p=25

Zatial mi to moc nejde. Problem je, ze potrebujem doplnit parameter rok pre hocijaku adresu na mojom webe a nechcem pre kazdu stranku robit este aj alternativu s parametrom rok v htaccess.

System je ten, ze ak sa v adrese objavi aj GET parameter rok, zmeni to premennu v SESSION a podla nej sa vyberaju data z db. Len neviem ako uz do prepisanych URL dostat dalsi GET parameter, teda okrem toho sposobu ked sa prida parameter v htaccess...

Odkaz pre zmenu roka by vyzeral takto:

Kód: Vybrať všetko

echo '<li><a href="'.$_SERVER['REQUEST_URI'].'?rok='.$i.'">'.$i.'</a></li>';
Zjavne to ale zle, preto hladam nejake alternativne univerzalne riesenie
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: URL rewrite a dodatocny query string

Príspevok od používateľa audiotrack »

zle to nie je, ak ti to nefunguje tak máš zlý flag pri rewriterule v .htaccess-e
Holubar
Darca
Darca
Používateľov profilový obrázok
Príspevky: 3894
Registrovaný: 24 feb 2005, 21:26
Bydlisko: Senec
Kontaktovať používateľa:

Re: URL rewrite a dodatocny query string

Príspevok od používateľa Holubar »

nie som v tomto nejak velmi zbehly. V htaccess mam na zaciatku toto:

Kód: Vybrať všetko

Options +FollowSymLinks

RewriteEngine On

#--------presmerovanie na www.
RewriteCond %{HTTP_HOST} ^stranka\.sk
RewriteRule ^(.*)$ http://www.stranka.sk/$1 [R=permanent,L]
A potom asi 50 identickych pravidiel ako

Kód: Vybrať všetko

RewriteRule ^kontakt.html$ /index.php?pid=kontakty [L]
No a ak zadam adresu /kontakt.html?rok=2010 tak parameter rok nerozpozna, ak napisem /kontakt.html&rok=2010, dostanem 404
Ovecka
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1227
Registrovaný: 25 aug 2005, 0:57

Re: URL rewrite a dodatocny query string

Príspevok od používateľa Ovecka »

Skus toto :)

Kód: Vybrať všetko

RewriteRule ^(.*)/(.*)$ http://www.stranka.sk/$1/$2 [R=permanent,L]
daj to pred ten

Kód: Vybrať všetko

RewriteRule ^(.*)$ http://www.stranka.sk/$1 [R=permanent,L]
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: URL rewrite a dodatocny query string

Príspevok od používateľa audiotrack »

ShepDog: práve tak to nechce robiť
Holubar: namiesto [L] tam daj [QSA,L]
Holubar
Darca
Darca
Používateľov profilový obrázok
Príspevky: 3894
Registrovaný: 24 feb 2005, 21:26
Bydlisko: Senec
Kontaktovať používateľa:

Re: URL rewrite a dodatocny query string

Príspevok od používateľa Holubar »

ShepDog: tomuto sa prave chcem vyhnut. Uz teraz mam cca 50 pravidiel a budu pribudat dalsie. Nechcem ku kazdemu pridavat dalsie, pomocou ktoreho by som vedel pridat jeden parameter. Kedze cchem takto pridat 2 parametre, pocet pravidiel by sa strojnasobil.

Cielom je k hocijakej adrese uvedenej v htaccess priradit query string rok=xxxx, tak aby som mohol pomocou lubovolnej stranky na webe zmenit premennu v SESSION

//edit: audiotrack: takto to funguje. Dakujem :)
Napísať odpoveď