|
Regular expression i htaccess regex, PCRE, POSIX, upotreba Apache .htaccess , mod_rewrite |
![]() |
|
Alati teme | Način prikaza |
|
![]() |
#1 |
član
Certified
Datum učlanjenja: 23.02.2009
Poruke: 55
Hvala: 0
11 "Hvala" u 7 poruka
![]() |
![]() Resenje vec postoji. Na linku koji sam prethodno postovao mozete naci vise informacija. Poslednja verzija za PHP je prikacena.
|
![]() |
![]() |
![]() |
#2 |
Dejan Ranisavljevic
Certified
|
![]() Ja sam uspeo da odradim ovo na nivou web server-a jedan virtual host sa rewrite-om na osnovu toga da li postoji fajl u document_root/domains/imedomena
Posto je vec receno da u bazi drzite imena domena za koje ce raditi aplikacija, prilikom dodavanja, brisanja domena potrebno je i dodati i obrisati fajl u domains/ime_domena. Tipa ako zelimo da nam aplikacija radi za example.com, samo cu touch-ovati taj fajl: Kôd:
touch domains/example.com touch domains/www.example.com touch domains/test.example.com Kôd:
set $postoji 0; # ako fajl postoji vrati ga odmah i prekini konekciju if (-f $request_filename) { break; } # ukoliko postoji trazeni domen if (-f $document_root/domains/$host) { set $postoji 1; } # ukoliko postoji trazeni domen sa www pod domenom if (-f $document_root/domains/www.$host) { set $postoji "${postoji}2"; } # ukoliko ne postoji domen redirektuj na default host if ($postoji = 0){ rewrite ^(.+)$ http://www.example.com$1 last; break; } # rewrite-uj trazeni domen sa www pod domenom if ($postoji = 12){ rewrite ^(.+)$ http://www.$host$1 last; break; } A sve to zajedno za catchall virtual host bi izgledalo ovako: Kôd:
server { listen 80 default; server_name _; root /Users/dejanr/Sites/dpt; server_name_in_redirect off; set $postoji 0; # ako fajl postoji vrati ga odmah i prekini konekciju if (-f $request_filename) { break; } # ukoliko postoji trazeni domen if (-f $document_root/domains/$host) { set $postoji 1; } # ukoliko postoji trazeni domen sa www pod domenom if (-f $document_root/domains/www.$host) { set $postoji "${postoji}2"; } # ukoliko ne postoji domen setuj default host if ($postoji = 0){ rewrite ^(.+)$ http://www.example.com$1 last; break; } # rewrite-uj trazeni domen sa www pod domenom if ($postoji = 12){ rewrite ^(.+)$ http://www.$host$1 last; break; } location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root/public$fastcgi_script_name; include /usr/local/nginx/conf/fastcgi_params; } } Poslednja izmena od dejanr : 26. 03. 2010. u 13:33. |
![]() |
![]() |
![]() |
|
|
![]() |
||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
$_SERVER['REMOTE_ADDR'] prazan ? | Ivan | PHP | 22 | 16. 03. 2010. 19:23 |
Koristiti $_SERVER['REQUEST_TIME'] vs time()? | bluesman | PHP | 29 | 07. 11. 2009. 23:40 |
Ajax & cross-subdomain problemi | bNasty | (X)HTML, JavaScript, DHTML, XML, CSS | 9 | 17. 01. 2007. 01:15 |
Prazan $_SERVER['HTTP_REFERER'] | bluesman | PHP | 26 | 11. 11. 2005. 13:43 |
Virtuelni subdomain preko .htaccess | bluesman | Regular expression i htaccess | 6 | 17. 06. 2005. 11:05 |