Autor | Zpráva | ||
---|---|---|---|
Báža Profil * |
#1 · Zasláno: 28. 11. 2006, 17:57:52
Mám menší problém, zřejmě pramenící z nedostatečné znalosti regulárních výrazů. Problém je tenhle: potřebuju do adresy přidat proměnnou třeba "promenna" s hodnotou dejme tomu "hodnota", ale jen v případě, že tam dosud není. Zkoušel jsem tohle:
Jenže to funguje jen když v adrese nejsou vůbec žádné proměnné. Jak to udělat, aby se tam ta proměnná přidala i když tam budou třeba 3 další? Dík. |
||
BaTeCzKo Profil |
#2 · Zasláno: 28. 11. 2006, 18:08:28
Zapis:
======== RewriteEngine On RewriteRule ^str-(.*)\.html$ x.php?id=$1 [L,QSA] Vysvetleni: ============ (.*) - zastupuje jakekoliv znaky a vytvari promennou $x podle poradi, ve kterem se v zapisu nachazi (od promenne $1 vyse) str - pritomnost tohoto klicoveho slova zajistuje aplikaci pravidla .html - stejne jako klicove slovo vyse; urcuje klicovou priponu x.php - soubor ktery je pri splneni podminky volan a jsou mu predavany pripadne promenne [L,QSA] - toto pravdepodobne zamezuje zacykleni pravidla, radeji to tam nechat |
||
Báža Profil * |
#3 · Zasláno: 28. 11. 2006, 18:13:49
Tohle znám, používám to taky. Tady jde o něco jiného. Mohl bych to sice vypodmínkovat v PHP, ale přes mod_rewrite mi to přijde jednodušší: potřebuju prostě přidat řídící proměnnou, podle které se pak nějakým způsobem bude provádět skript. Problém je ten, že v té adrese prostě být nemusí a pak by se ten skript zpracoval špatně. Snad už mi všichni rozumí. :-)
|
||
BaTeCzKo Profil |
#4 · Zasláno: 28. 11. 2006, 18:17:26 · Upravil/a: BaTeCzKo
Kde ta proměnná nebude? Při otevírání adresy, na jejímž základě mod rewrite podstrkuje nebo přímo na tom indexu?
|
||
Báža Profil * |
#5 · Zasláno: 28. 11. 2006, 18:20:40
Proměnná nebude přítomna při otevírání téadresy.
|
||
Báža Profil * |
#6 · Zasláno: 28. 11. 2006, 18:36:09
Ještě jsem zkoušel tenhle regulár:
, ten ale dělá divný věci. myslel jsem si, že se vyhodnotí jako true když v QS nebude žádný výskyt řetězce promenna, ale ouha, ono to tam následně v RewriteRule nacpalo tu proměnnou asi stokrát. Prostě jde o vytvoření reguláru, kterej bude true, když v něm nebude řetězec promenna, to je celej problém (a doufám, že je řešitelnej :-) ). |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0