Seite 1 von 1

modrewrite: Umleitung alle Anfragen auf domain.de/index.html

Verfasst: 04.09.2007, 16:04
von Tom902346
Hallo zusammen!

Ich bräuchte mal kurz eure Hilfe, da ich schon seit Stunden rumbastel und versuche es hinzubekommen, aber irgendwie baue ich immer nur endlosschleifen :roll:

Ich möchte mit modrewrite eine Umleitung bauen.
Und zwar sollen ALLE Anfragen auf die Domain ungeleitet werden auf die /index.html

Natürlich darf diese Weiterleitung nicht mehr greifen, wenn er dann auf der index.html gelandet ist, da ja sonst wieder ne schleife drinn ist :(

Also:

EGAL auf welche seit er zugreifen will ... beispiele:
www.domain.de/bla/bla/dingens.html
www.domain.de/dumichauch.html
www.domain.de/geheim/versteckt/datei.jpg


etc etc ... soll er immer hier landen:
www.domain.de/index.html


Wer kann helfen? Vielen Dank im Voraus!
Grüße
Tom

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 04.09.2007, 17:01
von chris21

Code: Alles auswählen

RewriteCond %{REQUEST_URI} !^/index.html
RewriteRule ^(.*) http://www.deinedomain.tld/index.html [R=301,L]

Verfasst: 04.09.2007, 17:53
von Tom902346
Hallo Chris!


Danke ... funktioniert!

ABER ... ich hab auf der Indexseite mehrere Bilder/Grafiken die nun nicht mehr angezeigt werden. Diese liegen alle im root. Was muss ich machen, dass er die wieder korrekt anzeigt? Danke für deine Hilfe!


Edit:
ich habe mal das hier versucht, um einfach alle Anfragen direkt in den root zu schicken statt auf die index.html ... leider ohne Erfolg :(
Oder hab ich da nen Fehler drinn?

Code: Alles auswählen

RewriteEngine on 
RewriteCond %{REQUEST_URI} !^/
RewriteRule ^(.*) http://www.domain.de/ [R=301,L] 

Verfasst: 04.09.2007, 18:50
von chris21

Code: Alles auswählen

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/bilder/bildaufindexhtml\.jpg
RewriteCond %{REQUEST_URI} !^/anderegrafik\.gif
RewriteCond %{REQUEST_URI} !^/index\.html
RewriteRule ^(.*) http://www.domain.de/ [R=301,L]
RewriteCond %{THE_REQUEST} ^index\.html
RewriteRule ^(.*) http://www.domain.de/ [R=301,L]
sprich: du musst eben per Kondition erklären, dass die einzelnen Grafiken/Bilder, die auf der index.html gebraucht werden, nicht umgeleitet werden.

Mit der Umleitung der index.html habe ich es gerade etwas kompliziert gemacht, Du kannst auch versuchen, die vierte, sechste und siebte Zeile wegzulassen, aber wenn dann wieder eine Endlosschleife auftaucht, müssen sie doch rein.

Verfasst: 04.09.2007, 19:41
von Tom902346
Hi Chris ...

netter Ansatz aber funzt beides nicht, schleift und schleift :(

Aber generell müsste das doch viel einfacher sein oder?
Gehts nicht auch mit nem reinen "Redirect" ?

Blöd ausgedrückt:
If Anfrage auf www.domain.de/*
then alles umleiten auf www.domain.de/
(ausser wenn der nutze sich schon im root befindet! dann soll er nicht umleiten weil = schleife)

Verfasst: 04.09.2007, 21:54
von chris21
Jupp, könnten wir versuchen:

Code: Alles auswählen

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/bilder/bildaufindexhtml\.jpg
RewriteCond %{REQUEST_URI} !^/anderegrafik\.gif
RewriteCond %{REQUEST_URI} ^/(.+)
RewriteRule ^(.*) http://www.domain.tld/ [L,R=301]
Zeile 2 und 3 stehen hier wieder beispielhaft für die Grafiken/Bilder auf der index.html, die ausgenommen werden müssen.

Verfasst: 06.09.2007, 22:32
von Tom902346
Hi Chris,

sorry ich kam erst jetzt dazu es zu testen ... und es schlug leider wieder fehl :(

Er bekommt dann die Domain nicht mehr aufgefrufen und scheint in einer endlosschleife zu hängen, keine Ahnung wieso ... andere Idee?

Im Prinzip ist es ja nichts anderes wie:
ALLE Anfragen die Domain in den root weiterzuleiten, es si denn die Anfrage lautet schon auf den Root.

Verfasst: 08.09.2007, 21:05
von Tom902346
Niemand mehr einen Tipp oder Lösungsvorschlag? :cry:

Verfasst: 08.09.2007, 22:20
von chris21
Hi Tom,

der Haken steckt eben darin, dass die index.html, die ja letztlich aufgerufen wird, wenn man auf dem Root landet, eben nicht der Root ist.

Hast Du schon ausprobiert, aus

Code: Alles auswählen

RewriteCond %{REQUEST_URI} ^/(.+)
das hier zu machen:

Code: Alles auswählen

RewriteCond %{THE_REQUEST} ^/(.+)

Verfasst: 12.09.2007, 01:41
von Tom902346
Getestet aber funzt auch nicht ...

Danke für deine Mühen, aber das muss doch eigentlich viel einfacher gehen oder? ... Einfach alle Anfragen an die Domain "weiterleiten" auf eine festgesetzte Adresse ...

Kann mir eigentlich nicht vorstellen das das so schwierig bzw. umfangreich sein soll ... *schnief*

Verfasst: 12.09.2007, 15:05
von chris21
Hallo Tom,

ich habe es jetzt mal selbst getestet:

obiger Code:

Code: Alles auswählen

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/bilder/bildaufindexhtml\.jpg
RewriteCond %{REQUEST_URI} !^/anderegrafik\.gif
RewriteCond %{REQUEST_URI} ^/(.+)
RewriteRule ^(.*) http://www.domain.tld/ [L,R=301] 
funktioniert bei mir einwandfrei.

Irgendwie musst Du noch eine weitere Anweisung in der .htaccess oder einer anderen Apache-Konfiguration drin haben, die dem ins Gehege kommt. Poste mal Deine ganze .htaccess (mit Domain durch example.com etc. verschleiert), sonst können wir dem Problem nicht auf die Schliche kommen.

Verfasst: 16.07.2008, 12:09
von andrenalin
Hallo Leute...

Ich würde gerne alles Domainas die auf meine Seite geleitet werden, sprich die DomainAliase auf die Hauptdomain umleiten.

Momentan nutze ich nur

RewriteEngine On
RewriteCond %{HTTP_HOST} ^boosta\.de$ [NC]
RewriteRule ^(.*)$ https://www.boosta.de/$1 [R=301,L]

unter anderem z.b. von
www.roller-auktionen.de
roller-auktionen.de

diese sollen dann auch auf Boosta.de umgeleitet werden...

Danke!

Verfasst: 17.02.2010, 19:12
von Joman
Hallo,

Ich weiß dieser Thread ist schon etwas älter... aber zu dieser Art von redirect findet man sehr wenig informationen im Internet.

Ich habe das selbe vor: Einen gesammten unterordner auf meinem root zu leiten.

möchte diesen code benutzen:

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/videos/videolink
RewriteRule ^(.*) https://www.deinedomain.tldl [R=301,L]

bekomme aber eine umleitungsschleife