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?
Please also mark the comments that contributed to the solution of the article
Content-Key: 1830121937
Url: https://administrator.de/contentid/1830121937
Printed on: April 27, 2024 at 04:04 o'clock
8 Comments
Latest comment
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 .