Mam taki dziwny problem, juz sam nie wiem jak go rozwiazac.
Napiaslem kilka regulek mod_rewrite. Testowalem je majac umieszone w konfiguracji apache w httpd.conf w <VirtualHost>.
I dzialaja idealnie jak powinny.
Problem zaczyna sie w momencie jak przenioslem swoje regulki do pliku .htaccess.
Przestaly dzialac jak powinny ;/
Oto moje regulki.
RewriteCond %{HTTP_HOST} ^([a-zA-Z\-_]+)\.aform\.dom$ RewriteCond %{DOCUMENT_ROOT}clients/%1 -d RewriteCond %{REQUEST_FILENAME} ^/_(.+) RewriteRule ^(.*) %{HTTP_HOST}$1 [C] RewriteRule ^([a-zA-Z\-_\.]+)\.aform\.dom\/(.+)$ /home/projects/aform/clients/$1/$2 [L] RewriteCond %{HTTP_HOST} ^([a-zA-Z\-_]+)?\.?aform\.dom$ RewriteCond %{REQUEST_FILENAME} ^/_(.+) RewriteRule ^\/(.+)$ /home/projects/aform/main/$1 [L] RewriteCond %{HTTP_HOST} ^([a-zA-Z\-_]+)\.aform\.dom$ RewriteRule ^(.*) /home/projects/aform/index.php?client=%1 [L]
To co chce osiagnac.
1. Jest domena *.aform.dom
2. Grafiki i inne dolaczenia mam postaci _i/nazwa.(jpg|css)
3. Katalogi klientow sa w /home/projects/aform/clients/
I teraz
Jak ktos wywola np
demo.aform.dom
To sprawdzam czy istnieje taki katalog w clients
Nastepnie sprawdzam czy wywolanie to grafija czy cos czyli czy zaczyna sie od /_
Jesli tak to grafiki przerzucam do katalogu /home/projects/aform/clients/demo/_i/nazwa.(jpg|css)
A pozostale wywolania nie grafika idzie na index.php?client=demo
Drugi etap
To jesli nie istnieje taki katalog albo wywolanie jest aform.dom
to wtedy ma przerzucac do katalogu main czyli /home/projects/aform/main/_i/nazwa.(jpg|css)
dla grafik a dla pozostalego wywolania na index.php?client=
Ponizej zalaczam tez logi z wywolania aform.dom dla pliku ze stylami.
Dla httpd.conf 127.0.0.1 - - [27/Jan/2007:12:37:20 +0100] [aform.dom/sid#81c7848][rid#830ef80/initial] (2) init rewrite engine with requested uri /_i/style.css 127.0.0.1 - - [27/Jan/2007:12:37:20 +0100] [aform.dom/sid#81c7848][rid#830ef80/initial] (3) applying pattern '^(.*)' to uri '/_i/style.css' 127.0.0.1 - - [27/Jan/2007:12:37:20 +0100] [aform.dom/sid#81c7848][rid#830ef80/initial] (4) RewriteCond: input='aform.dom' pattern='^([a-zA-Z\-_]+)\.aform\.dom$' => not-matched 127.0.0.1 - - [27/Jan/2007:12:37:20 +0100] [aform.dom/sid#81c7848][rid#830ef80/initial] (3) applying pattern '^\/(.+)$' to uri '/_i/style.css' 127.0.0.1 - - [27/Jan/2007:12:37:20 +0100] [aform.dom/sid#81c7848][rid#830ef80/initial] (4) RewriteCond: input='aform.dom' pattern='^([a-zA-Z\-_]+)?\.?aform\.dom$' => matched 127.0.0.1 - - [27/Jan/2007:12:37:20 +0100] [aform.dom/sid#81c7848][rid#830ef80/initial] (4) RewriteCond: input='/_i/style.css' pattern='^/_(.+)' => matched 127.0.0.1 - - [27/Jan/2007:12:37:20 +0100] [aform.dom/sid#81c7848][rid#830ef80/initial] (2) rewrite '/_i/style.css' -> '/home/projects/aform/main/_i/style.css' 127.0.0.1 - - [27/Jan/2007:12:37:20 +0100] [aform.dom/sid#81c7848][rid#830ef80/initial] (2) local path result: /home/projects/aform/main/_i/style.css 127.0.0.1 - - [27/Jan/2007:12:37:20 +0100] [aform.dom/sid#81c7848][rid#830ef80/initial] (1) go-ahead with /home/projects/aform/main/_i/style.css [OK] Dla .htaccess 127.0.0.1 - - [27/Jan/2007:12:50:11 +0100] [aform.dom/sid#81c74d8][rid#8317d68/initial] (2) init rewrite engine with requested uri /_i/style.css 127.0.0.1 - - [27/Jan/2007:12:50:11 +0100] [aform.dom/sid#81c74d8][rid#8317d68/initial] (1) pass through /_i/style.css 127.0.0.1 - - [27/Jan/2007:12:50:11 +0100] [aform.dom/sid#81c74d8][rid#8317d68/initial] (3) [perdir /home/projects/aform/] add path info postfix: /home/projects/aform/_i -> /home/projects/aform/_i/style.css 127.0.0.1 - - [27/Jan/2007:12:50:11 +0100] [aform.dom/sid#81c74d8][rid#8317d68/initial] (3) [perdir /home/projects/aform/] strip per-dir prefix: /home/projects/aform/_i/style.css -> _i/style.css 127.0.0.1 - - [27/Jan/2007:12:50:11 +0100] [aform.dom/sid#81c74d8][rid#8317d68/initial] (3) [perdir /home/projects/aform/] applying pattern '^\/(.+)$' to uri '_i/style.css' 127.0.0.1 - - [27/Jan/2007:12:50:11 +0100] [aform.dom/sid#81c74d8][rid#8317d68/initial] (3) [perdir /home/projects/aform/] add path info postfix: /home/projects/aform/_i -> /home/projects/aform/_i/style.css 127.0.0.1 - - [27/Jan/2007:12:50:11 +0100] [aform.dom/sid#81c74d8][rid#8317d68/initial] (3) [perdir /home/projects/aform/] strip per-dir prefix: /home/projects/aform/_i/style.css -> _i/style.css 127.0.0.1 - - [27/Jan/2007:12:50:11 +0100] [aform.dom/sid#81c74d8][rid#8317d68/initial] (3) [perdir /home/projects/aform/] applying pattern '^(.*)' to uri '_i/style.css' 127.0.0.1 - - [27/Jan/2007:12:50:11 +0100] [aform.dom/sid#81c74d8][rid#8317d68/initial] (4) [perdir /home/projects/aform/] RewriteCond: input='aform.dom' pattern='^([a-zA-Z\-_]+)\.aform\.dom$' => not-matched 127.0.0.1 - - [27/Jan/2007:12:50:11 +0100] [aform.dom/sid#81c74d8][rid#8317d68/initial] (3) [perdir /home/projects/aform/] add path info postfix: /home/projects/aform/_i -> /home/projects/aform/_i/style.css 127.0.0.1 - - [27/Jan/2007:12:50:11 +0100] [aform.dom/sid#81c74d8][rid#8317d68/initial] (3) [perdir /home/projects/aform/] strip per-dir prefix: /home/projects/aform/_i/style.css -> _i/style.css 127.0.0.1 - - [27/Jan/2007:12:50:11 +0100] [aform.dom/sid#81c74d8][rid#8317d68/initial] (3) [perdir /home/projects/aform/] applying pattern '^(.*)' to uri '_i/style.css' 127.0.0.1 - - [27/Jan/2007:12:50:11 +0100] [aform.dom/sid#81c74d8][rid#8317d68/initial] (4) [perdir /home/projects/aform/] RewriteCond: input='aform.dom' pattern='^([a-zA-Z\-_]+)\.aform\.dom$' => not-matched 127.0.0.1 - - [27/Jan/2007:12:50:11 +0100] [aform.dom/sid#81c74d8][rid#8317d68/initial] (1) [perdir /home/projects/aform/] pass through /home/projects/aform/_i 127.0.0.1 - - [27/Jan/2007:12:50:11 +0100] [aform.dom/sid#81c74d8][rid#830d120/initial/redir#1] (2) init rewrite engine with requested uri /error/HTTP_NOT_FOUND.html.var 127.0.0.1 - - [27/Jan/2007:12:50:11 +0100] [aform.dom/sid#81c74d8][rid#830d120/initial/redir#1] (1) pass through /error/HTTP_NOT_FOUND.html.var
Z gory dziekuje za wszelka pomoc.
pozdrawiam,