Autor Zpráva
Jack Finger
Profil
Dobrý večer,
mám takový problém, který se tu už řešil, ale nikdy se nevyřešil, nebo jsem řešení nenašel, ač jsem hledal (nejen na JPW diskusi).
Jde mi o to, že mám na domena.cz web a ten chci podstrkávat pomocí mod_rewrite doméně domain.com. Každá doména je na jiném serveru, na CZ je web, na COM není nic, jen .htaccess. Jestli jsem to správně pochopil, tak pravidlo
RewriteRule (.*) http ://domena.cz/$1
http://domena.cz/$1[/pre][/url]
bude přesměrovávat, nikoliv podstrkávat (kvůli absolutní adrese). To já ale nechci. Není zde nějaký způsob, jak tohle obejít? Cosi jsem tu zahlédl o použití ve spojistosti s mod_proxy, ale nepochopil jsem úplně, co to je a jestli se to dá aplikovat na můj případ. Nemá s tím někdo zkušenost, nebo nějaký nápad na vyřešení? A neptejte se mě prosím na to, proč nepřesunu jeden web k druhému, nebo proč to nenechám přesměrovat - kdybych chtěl, udělám to.
Díky za každé nasměrování.
Kajman_
Profil *
Pokud nevyžadujete mod_rewrite (používané pro složitější podmínky) mělo by stačit mod_proxy samotné. Zkuste v konfiguraci apache (v .htaccess nelze nastavovat):

ProxyRequests Off
ProxyPass / http://domena.cz/ 
ProxyPassReverse / http://domena.cz/
Jack Finger
Profil
Kajman_
Problém je v tom, že k souboru httpd.conf na serveru s .htaccess nemám přístup (spravuji jen ten s webem), což mi znemožňuje tento krok. Takže přes mod_proxy to nepůjde :(

Nějaký jiný nápad prosím?
Davex
Profil
Z hlediska negativního vlivu duplicitního obsahu by bylo dobré, vybrat si jednu doménu s obsahem, a z ostatních domén na ní přesměrovávat. Pokud se nelze bez stejného obsahu na obou doménách obejít, tak lze přesunout obě domény na stejný server. Pokud ani to není možné, tak by tu byla možnost pomocí serverového skriptu (např. PHP) na serveru s doménou example.com, který by obsah z jiného webu načítal a obratem odesílal.
Jack Finger
Profil
Davex
To už mě taky napadlo, ale nechávám si to jako poslední možnost... Napadá mě k tomu ale otázka - jde posílat POST (včetně souborů) přes HTTP?
Davex
Profil
Data lze POSTem odesílat při použití cURL. Jen bude potřeba ještě ošetřit přeposílání originálních HTTP hlaviček.
Jack Finger
Profil
Davex
No, vypadá to na pořádnej kus práce. Každopádně díky za pomoc!
A kdyby ještě někdo věděl něco dalšího nebo nějaké rozšíření již řečeného, pište :) Díky.
Jack Finger
Profil
Tak jsem to nakonec vyřešil přes mod_proxy. Funguje to. Chci se ještě zeptat, jak přesměrovávat subdomény? Např. sub.domain.com na sub.domena.cz? Nějak mě nenapadá, jak to lomeno
ProxyPass / http ://domena.cz/
ProxyPassReverse / http ://domena.cz/

změnit na název subdomény...
Jack Finger
Profil
Vyřešeno takto:
<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass / http://domena.cz/
ProxyPassReverse / http://domena.cz/
ServerName domain.com
</VirtualHost> 
<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass / http://sub.domena.cz/
ProxyPassReverse / http://sub.domena.cz/
ServerName sub.domain.com
</VirtualHost> 

Díky za pomoc a nasměrování.
Jack Finger
Profil
Ještě mám prosím jednu otázku - jde nějak udělat, aby se zachovala IP adresa klienta? Protože v tomto případě se $_SERVER['REMOTE_ADDR'] vždy změní na serverou adresu.
Davex
Profil
Testuj poslední hodnotu proměnné $_SERVER['HTTP_X_FORWARDED_FOR'], ve které by měly být zachovány adresy všech průchozích proxy.
Jack Finger
Profil
Davex
Díky, už jsem to i našel v jiným fóru, je to tak, že proměnná $_SERVER['HTTP_X_FORWARDED_FOR'] sama o sobě předává jen IP adresu. Tak snad je to již vše, ještě jednou díky!

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: