Autor | Zpráva | ||
---|---|---|---|
Peet Profil |
#1 · Zasláno: 19. 3. 2013, 23:21:46
Dobrý den jak udělat tento reg. výraz tak aby fungoval?
([^www][a-z]+) -> toto funguje
ale pokud potřebuj přidat ještě další podmínku ([^www][^neco][a-z]+) -> nejde
([^www|neco][a-z]+) -> nejde
([^www&&[^neco]][a-z]+) -> nejde
|
||
Tori Profil |
#2 · Zasláno: 19. 3. 2013, 23:49:36
Jestli jsou ty podmínky za sebou, máte tam flag [OR]? http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritecond
|
||
Peet Profil |
#3 · Zasláno: 20. 3. 2013, 00:53:29 · Upravil/a: Peet
pomocí OR jsem to zkoušel ale to není přesně co myslím. potřebuji aby se podmínka splnila jen tehdy pokud se řetězec nebude rovnat ani jednomu slovu
protože když to udělám takto ([^www][a-z]+) [OR] ([^neco][a-z]+) tak se to stejnak rovná všemu a ta podmínka prostě není splněna. |
||
Tori Profil |
|||
Peet Profil |
#5 · Zasláno: 20. 3. 2013, 01:34:57
ano tím chci říct neobsahuje řetězec "www" a zároveň potřebuji říct, neobsahuje ani "dalsi retezec" a třeba dalsi a dalsi
|
||
Tori Profil |
#6 · Zasláno: 20. 3. 2013, 08:36:48
Neobsahuje www ani wwwněco:
RewriteCond %{REQUEST_URI} !www(něco)?
Neobsahuje ani www, ani něco: RewriteCond %{REQUEST_URI} !(www|něco)
„([^www][a-z]+) -> toto funguje“ Tohle vám zachytí všechno co začíná jedním znakem, který není w, a pak jsou libovolné další znaky. (viz http://www.php.net/manual/en/regexp.reference.character-classes.php) |
||
Peet Profil |
toto nefunguje
RewriteCond %{HTTP_HOST} ^www\.!(www|neco)\.domain\.cz$ |
||
Tori Profil |
#8 · Zasláno: 21. 3. 2013, 22:14:01
Peet:
A co to má dělat? (btw vykřičník musí být před regulárem, pokud znamená negaci podmínky) |
||
Peet Profil |
#9 · Zasláno: 21. 3. 2013, 22:18:19
má dělat to že se podmínka provede pouze kdyz bude tvar
www.blabla(vše co neobsahuje www nebo neco).domain.cz
|
||
Tori Profil |
Zkuste
RewriteCond %{HTTP_HOST} !^www\.(www|neco)\.domain\.cz$
A co když bude adresa www.blawwwbla.domain.cz , má projít nebo ne? Třeba takhle by neprošla: (doufám, že jsme nezapomněla něco escapovat v reguláru)
RewriteCond %{HTTP_HOST} !^www\.[^.]*(www|neco)[^.]*\.domain\.cz$ |
||
Peet Profil |
#11 · Zasláno: 21. 3. 2013, 22:45:49
Dobře vyzkouším to, ale už jsem to nejspíš vyřešil teď mi došlo že to bere podmínku za podmínkou takže když podmínka pro něco bude před tou obecnou tak mě hodí tam kam má. mám totiž subdoménu která může bejt jakákoliv a pak pár specifických například ucet.domain.cz a to me hodí jinam než ta obecná ;) ale děkuji mnohokrát :)
|
||
Časová prodleva: 11 let
|
0