Apache Redirect 301 auf bestimmte URL
Moin,
bei mir läuft ein Apache 2.4.29 auf einem Ubuntu Server. Eine meiner Websites soll beim Aufruf der Domain mit einer bestimmten URL starten. Hierzu hab ich einen Permanent Redirect eingerichtet
Anleitungen von alten auf neue Domain gibt es im Netz zu Hauf. Bei mir soll jedoch "aktuelle-domain.de/" auf "aktuelle-domain.de/news" umleiten.
Hierbei dachte ich, dass "/" dem webroot entspricht.
Da mein Redirect aber nicht umleitet, ist das wohl falsch.
Wie leite ich um, sodass beim Aufruf der Domain eine bestimmte URL aufgerufen wird?
bei mir läuft ein Apache 2.4.29 auf einem Ubuntu Server. Eine meiner Websites soll beim Aufruf der Domain mit einer bestimmten URL starten. Hierzu hab ich einen Permanent Redirect eingerichtet
<VirtualHost *:80>
RewriteEngine on
ServerName domain.de
Redirect 301 / https://domain.de/news/
...
Anleitungen von alten auf neue Domain gibt es im Netz zu Hauf. Bei mir soll jedoch "aktuelle-domain.de/" auf "aktuelle-domain.de/news" umleiten.
Hierbei dachte ich, dass "/" dem webroot entspricht.
Da mein Redirect aber nicht umleitet, ist das wohl falsch.
Wie leite ich um, sodass beim Aufruf der Domain eine bestimmte URL aufgerufen wird?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1830121937
Url: https://administrator.de/forum/apache-redirect-301-auf-bestimmte-url-1830121937.html
Ausgedruckt am: 23.12.2024 um 08:12 Uhr
8 Kommentare
Neuester Kommentar
Hallo
Stimmt der Syntax?
laut -> www.linux-praxis.de/verwaltung-eines-webservers sieht der Syntax folgendermassen aus:
Redirect /test http://www.anderer.neue-webseite.irgenwas/test
Was passiert bei dir?
Redirect 301 / https://domain.de/news/
Stimmt der Syntax?
laut -> www.linux-praxis.de/verwaltung-eines-webservers sieht der Syntax folgendermassen aus:
Redirect /test http://www.anderer.neue-webseite.irgenwas/test
Was passiert bei dir?
Servus.
Die Redirect-Directive so genutzt führt verständlicherweise zu einem Umleitungs-Loop.
Nutze Rewrite Module
oder die RedirectMatch Direktive
Grüße Uwe
Die Redirect-Directive so genutzt führt verständlicherweise zu einem Umleitungs-Loop.
Nutze Rewrite Module
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/$ /news/ [L,R=301]
</IfModule>
RedirectMatch 301 ^/$ /news/
Grüße Uwe
Klappt hier im Test einwandfrei!
Du mischst hier alle Methoden auf einmal das geht natürlich in die Hose!
Des weiteren muss natürlich nach jeder Änderung ein Config-Reload oder apache2 restart durchgeführt werden (systemctl restart apache2) und der Browser-Cache sollte geleert werden denn vorherige Permanent redirects merkt sich der Browser in seinem Cache!
Also ohne https redirect entweder
oder so
Und wie gesagt bei https redirect muss die /news/ Umleitung in den :443 vhost!
Mit https Redirect final kombiniert also so
Fazit: Works as designed .
RewriteCond %{SERVER_NAME} =meine-domain.de
Falsch ein = gibt es hier nicht und Conditions werden per Regex gematchtRewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
Du willst auf den https vhost also musst du auch dort die endgültige Umleitung auf /news/ hinzufügen nicht im :80 vhost!Du mischst hier alle Methoden auf einmal das geht natürlich in die Hose!
Des weiteren muss natürlich nach jeder Änderung ein Config-Reload oder apache2 restart durchgeführt werden (systemctl restart apache2) und der Browser-Cache sollte geleert werden denn vorherige Permanent redirects merkt sich der Browser in seinem Cache!
Also ohne https redirect entweder
<VirtualHost *:80>
ServerName meine-domain.de
DocumentRoot /home/ip/d93/web
RedirectMatch 301 ^/$ /news/
<Directory "/home/ip/d93/web">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName meine-domain.de
DocumentRoot /home/ip/d93/web
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/$ /news/ [L,R=301]
</IfModule>
<Directory "/home/ip/d93/web">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Mit https Redirect final kombiniert also so
<VirtualHost *:80>
ServerName meine-domain.de
DocumentRoot /home/ip/d93/web
RedirectPermanent / https://meine-domain.de
</VirtualHost>
<VirtualHost *:443>
ServerName meine-domain.de
DocumentRoot /home/ip/d93/web
RedirectMatch 301 ^/$ /news/
SSLCertificateFile "/pfad/cert.pem"
SSLCertificateKeyFile "/pfad/certkey.pem"
<Directory "/home/ip/d93/web">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Fazit: Works as designed .