[ Rolo Din @ 26.11.2012. 14:31 ] @
Zdravo,

Na klijentovom Live serveru sam konfigurisao novi sajt u okviru /var/www/hosts/www.site.com.war foldera. Live okruženje koristi konfiguraciju Apache-JBoss servera, gdje je Apache front-end server.
Standardna procedura pri kreiranju novog sajta na Live-u, na ovom projektu, je da se sajt konfiguriše tako da bude dostupan preko određene šifrom zaštićene interne adrese (npr. live.site.com, pozvani korisnici je zajedno sa IP adresom Live servera dodaju u svoj hosts fajl) i tako sve dok ne bude spreman za upotrebu, tj. dok klijent ne obezbjedi domen. Uspješno sam konfigurisao internu adresu (na dalje live.site.com).
Medutim, moj problem je u tome što klijent već sada ima kupljen javni domen (na dalje www.site.com), što u prevodu znaci da je Apache odgovoran za obradu i www.site.com i live.site.com URL zahtjeva!

Moj zadatak je sledeci:
1. Ako "interni" korisnik zatraži live.site.com stranicu, Apache mu mora omoguciti pristup sajtu konfigurisanom u folderu /var/www/hosts/www.site.com.war
2. Ako bilo koji korisnik zatraži www.site.com stranicu, Apache ga mora redirektovati na neki sasvim drugi sajt, npr. www.othersite.com/page.jsp

Ovo je konfiguracija sa kojom sam pokušao da riješim ovaj problem, međutim bez uspjeha pošto u ovom slučaju oba zahtjeva vode ka sajtu konfigurisanom u okviru /var/www/hosts/www.site.com.war foldera, s tim što sajt zahtjevan preko www.site.com adrese ne uspjeva da učita css dokumente jer ih "traži" na www.othersite.com/ adresi:

Code:
<VirtualHost *:80>
    ServerName www.site.com
    DocumentRoot /var/www/hosts/www.site.com.war/

    RewriteEngine on
    RewriteCond %{HTTP_HOST} www.site.com
    RewriteCond %{HTTP_REFERER} http://www.site.com/
    RewriteRule ^/(.*) http://www.othersite.com/page.jsp [R=301]

    # Remove this password protection after go-live
    <Directory /var/www/hosts/www.site.com.war/ >
          AuthType Basic
          AuthName "By Invitation Only"
          AuthUserFile /etc/httpd/conf/site.htpasswd

          require valid-user
    </Directory>
</VirtualHost>


# For internal company use
<VirtualHost *:80>
    ServerName live.site.com

    ProxyPass / http://www.site.com/
    ProxyPassReverse / http://www.site.com/
</VirtualHost>


Ako zakomentarišem RewriterEngine pravila ništa se se primjeni sem što stranica na www.site.com zahtjev uspješno učita css-ove.

Moja pitanja su:
1. Da li je moguce konfigurisati Apache na nacin opisan iznad?
2. Takođe me interesuje da li preko nekog od RewriteCond-ova mogu saznati da je zahtjev redirektovan sa nekog drugog VirtualHost-a?

Unaprijed zahvalan, Marko.

PS. Pokušao sam naći odgovor pretražujuci forum, ali bez uspjeha.
PS2. Sličan post sam postavio i na StackOverflow: http://stackoverflow.com/quest...he-site-redirect-configuration

[Ovu poruku je menjao Rolo Din dana 26.11.2012. u 15:41 GMT+1]

[Ovu poruku je menjao Rolo Din dana 26.11.2012. u 15:44 GMT+1]
[ agvozden @ 27.11.2012. 08:08 ] @
postoje mnogi nacini, ali ja nisam razumeo sta zapravo zelis..

hoces da istom serveru korisnici razlicito pristupaju na osnovu svoje ip adrese?
[ Rolo Din @ 27.11.2012. 09:20 ] @
Hocu da podesim Apache tako da ispuni sledeće uslove:

Citat:
Moj zadatak je sledeci:
1. Ako "interni" korisnik zatraži live.site.com stranicu, Apache mu mora omoguciti pristup sajtu konfigurisanom u folderu /var/www/hosts/www.site.com.war
2. Ako bilo koji korisnik zatraži www.site.com stranicu, Apache ga mora redirektovati na neki sasvim drugi sajt, npr. www.othersite.com/page.jsp


Da priču učinim jednostavnijom, nije bitno o kojoj vrsti korisnika se radi, bitno je da se Apache mora podesiti tako da obrađuje zahtjeve ka dva različita url-a na dva razlišita načina.

Pokušao sam to da uradim tako što u live.site.com VirtualHost dodam DocumentRoot koji referencira folder www.site.com sajta, a da www.site.com VirtualHost sadrži samo redirekciju. Međutim, u tom slučaju dobijam 404 grešku kada pokušam da učitam index.jsp stranicu na live.site.com adresi (redirekcija radi kako treba). To je zato što su JBoss konfiguracije sajta podešene tako da odgovaraju www.site.com adresi.

Nadama se da je malo jasnije, mada vjerovatno nije :-/
[ Sir_Oliver @ 25.12.2012. 11:53 ] @
Ono što ti želiš da postigneš (domain masking), moguće je odraditi jedino pomoću html frejmova (koliko je meni poznato). Napravio bi statičku html stranicu sa frame-om na drugom sajtu/domenu, u koji bi prikazivao sadržaj sa prvog sajta. Pomoću htaccess preusmeravanja nećeš moći jednim udarcem da rešiš problem. Naime, tu bi morao da uradiš nekoliko rewrite rules za css / js / slike da te URI učitava sa prvog sajta, a da dinamički sadržaj prikazuje kao sa prvog sajta... Mada je ovo "long shot" i verovatno bi se namučio bez rezultata. Tako da mislim da ti je najbolja i najjednostavnija opcija jedan sa frejmovima.