dragonvalor
Goto Top

Proxy verweist auf URL mit Unterverzeichnis

Hallo zusammen,
ich stehe gerade vor einem Problem bezüglich einer Weiterleitung.

Grund meiner Frage ist, da wir einen internen Server abgeschaltet haben und diesen nun woanders hosten. Hier ist die IP sowie die Domain bekannt. Nun möchte ich über einen ProxyPass eine Anfrage auf die neue Domain umleiten. Das funktioniert auch soweit mit der Haupt-Domain, nur benötige ich noch einen Unternordner hinter der Domain. Aktuell sieht der Virtual Host Eintrag so aus:

<VirtualHost *:80>
        ServerName shop.test.com
        ServerAlias shop.test.de

        ProxyRequests Off
        ProxyPreserveHost On

        <Location />
                ProxyPass http://new-domain.com/shoppfad/
        </Location>

</VirtualHost>

Bei dieser weiterleitung komme ich aber immer nur auf "http://new-domain.com/" und nicht wie gewollt auf die mit Unterverzeichnis.

Was ich schon einmal probiert habe, war das "Location" weg zu lassen und den PassProxy Kommando zu erweitern:

 ProxyPass /shoppfad/ http://new-domain.com/shoppfad/

Dies hat allerdings nicht funktioniert.

Aktivierte Module sind:

Loaded Modules:
 core_module (static)
 so_module (static)
 watchdog_module (static)
 http_module (static)
 log_config_module (static)
 logio_module (static)
 version_module (static)
 unixd_module (static)
 access_compat_module (shared)
 alias_module (shared)
 auth_basic_module (shared)
 authn_core_module (shared)
 authn_file_module (shared)
 authz_core_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 filter_module (shared)
 mime_module (shared)
 mpm_event_module (shared)
 negotiation_module (shared)
 proxy_module (shared)
 proxy_html_module (shared)
 proxy_http_module (shared)
 rewrite_module (shared)
 setenvif_module (shared)
 socache_shmcb_module (shared)
 ssl_module (shared)
 status_module (shared)
 xml2enc_module (shared)

Danke für eine Rückmeldung.

VG Pad

Content-ID: 301719

Url: https://administrator.de/contentid/301719

Ausgedruckt am: 19.11.2024 um 09:11 Uhr

Dani
Lösung Dani 13.04.2016 aktualisiert um 19:21:53 Uhr
Goto Top
Guten Abend Pad,
die letzte Konfrontation mit Apache ist schon länger her, aber ich meine in diese Zeile ist so nicht vollständig:
ProxyPass http://new-domain.com/shoppfad/ 
Müsste diese nicht so aussehen:
ProxyPass / http://new-domain.com/shoppfad/
ProxyPassReverse / http://new-domain.com/shoppfad/

Gruß,
Dani
Sheogorath
Lösung Sheogorath 14.04.2016 um 01:10:28 Uhr
Goto Top
Moin,

also abgesehen davon, dass @Dani recht hat und ein übliches ProxyPass Statement in apache so aussieht wie er es skizziert hat, stellt sich mir die Frage, wozu du einen Reverse Proxy nutzt, wenn du nur auf eine neue Domain verweisen willst.

Normalerweise macht man sowas per rewrite oder redirect.
Das sieht dann so aus:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=301,L]

Mehr darüber kannst du hier lesen: http://www.websmith.de/blog/webprogrammierung/redirect-suchmaschinen/re ...

Besonders eben zu beachten ist, dass mit einem Rewrite auch Suchmaschinen die neue Seite richtig finden und sie nicht für ein Dublikat oder gar eine Phishingseite halten. Das ist deinem SEO definitiv nicht zuträglich ;)

Gruß
Chris
DragonValor
DragonValor 14.04.2016 um 09:18:39 Uhr
Goto Top
Hallo Dani, hallo Chris,
danke für eure Hilfe.

Habe es nun mit einem Rewrite gelöst.

RewriteEngine On
        RewriteRule ^/?(.*) http://www.new-domain.com/shoppfad/$1 [R,L]

VG Pad
Sheogorath
Sheogorath 14.04.2016 um 14:14:17 Uhr
Goto Top
Moin,

du solltest den 301 redirect verwenden um Suchmaschinen und Besuchern mitzuteilen, dass die Seite permanent umgezogen ist.

Deine aktuelle Variante funktioniert zwar auch, allerdings würden Suchmaschinen diesen Pfad immer wieder abfragen.

Gruß
Chris