Autor | Zpráva | ||
---|---|---|---|
Radim24 Profil |
#1 · Zasláno: 8. 6. 2009, 18:57:38 · Upravil/a: Radim24
Ahoj,
můžete mi říct jakou akci vykonává tato formule? rewriteCond %{REQUEST_FILENAME} !-f rewriteCond %{REQUEST_FILENAME} !-d rewriteRule ^(.*)$ index.php?url=$1 [L,QSA] Umím jen regulární výrazy, takže poznám, že %{REQUEST_FILENAME} asi dohazuje URL adresu. Ale nevím co znamenáäjí ty parametry !-f , !-d a toto: rewriteRule ^(.*)$ index.php?url=$1 |
||
Majkl578 Profil |
#2 · Zasláno: 8. 6. 2009, 19:03:09
pokud fyzicky neexistuje jako soubor (f) nebo slozka (d)
|
||
AM_ Profil |
#3 · Zasláno: 8. 6. 2009, 19:16:10
„ewriteRule ^(.*)$ index.php?url=$1“
jakoukoli zadanou adresu přepíše na index.php a původní adresu předá jako parametr "url" Ten, co k tomu psal kód, zřejmě neznal $_SERVER['REQUEST_URI'], protože kdyby jo tak to ?url=$1 tam nebude potřeba... polopatě, bagr.html to přepíše na index.php?url=bagr.html |
||
Radim24 Profil |
Mmmm rozumím. Takže to není co potřebuju. Potřeboval bych něco složitějšího ale nevím jestli to zvládnu.
|
||
Radim24 Profil |
#5 · Zasláno: 8. 6. 2009, 20:52:29 · Upravil/a: Radim24
A co znamenají ty parametry [L,QSA]? Zkusím sestavit regulární výraz.
Uvedu příklad co řeším (adresa je jen příkladová) Edit - oprava adresu http://web-design.rozhled.cz/fotoalbum/flowers/green/preview.php?num=10 musím sestrojit už v php souboru a odeslat uživatelovi jako soubor html. Tuto sekvenci potřebuju předat jako http://web-design.rozhled.cz/index.php?id=fotoalbum_preview&dir=flovers&sub=green&num=10 |
||
AM_ Profil |
#6 · Zasláno: 8. 6. 2009, 20:55:05
L je poslední překlad (žádný následující se neprovede), QSA znamená přenos query stringu.
Tohle je imho nejmocnější cesta, pokud tedy vyžaduješ přesměrování do více různých souborů (ale i to je vlastně takhle řešitelné), protože se prostě všechno přesměruje na index.php kde už si dotaz vyhodnotíš po svém v PHP - zatímco pravidlům v .htaccess dobře rozumí pár vyvolených, v PHP si to rozparsuješ snadno ;) |
||
Radim24 Profil |
#7 · Zasláno: 8. 6. 2009, 21:10:36 · Upravil/a: Radim24
Podařilo se mi najít výbornou stránku a povedlo se mi najít i jak se odkazovat na pojmenované vnořené předlohy:
http://kobesearch.cpan.org/htdocs/perl/perlreref.html Viz EXTENDED CONSTRUCTS (?<name>...) Named capture (?'name'...) Named capture (?P<name>...) Named capture (python syntax) (?N) Recurse into subpattern number N (?-N), (?+N) Recurse into Nth previous/next subpattern (?R), (?0) Recurse at the beginning of the whole pattern (?&name) Recurse into a named subpattern (?P>name) Recurse into a named subpattern (python syntax) (?(cond)yes|no) (?(cond)yes) Conditional expression, where "cond" can be: (N) subpattern N has matched something (<name>) named subpattern has matched something ('name') named subpattern has matched something (?{code}) code condition (R) true if recursing (RN) true if recursing into Nth subpattern (R&name) true if recursing into named subpattern (DEFINE) always false, no no-pattern allowed A další dost užitečné věci - snad budou fungovat... |
||
Časová prodleva: 15 let
|
0