zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Der Klassiker: Weiterleitung

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 22.04.2010, 12:59
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 25.03.2009
Beiträge: 21
Oggy befindet sich auf einem aufstrebenden Ast
Standard Der Klassiker: Weiterleitung

Hallo zusammen!

Die häufige Nachfrage lässt darauf schließen, dass das Thema "Weiterleitung" ein allseits beliebter Klassiker zu sein scheint, stiftet es bei den meisten "Administratoren" doch große Verwirrung und sorgt für Frustrationen.

Um meine Erkenntnisse mit der tatsächlichen Logik abzugleichen, würde ich Euch mal bitten, Euch die folgende Syntax anzuschauen. Vorab möchte ich die Rahmenbedingungen kurz darlegen:
  • vorhanden: domain. de
  • vorhanden: domain. com
  • vhost mit Hauptdomain domain.de, Serveralias domain. com
  • Website: CMS im Unterverzeichnis /cms/
  • Webshop: Shop-System im Unterverzeichnis /shop/

Zielsetzung:
  • beide Domains sollen auf www.domain. de weitergeleitet werden
  • www. domain. de soll auf das CMS weitergeleitet werden
  • www. domain. de/shop soll auf das Shop-System weitergeleitet werden
  • schön wäre, wenn man das cms/ aus der URL entfernen könnte

aktuelle Umsetzung:
Code:
RewriteEngine On
RewriteBase /
RewriteRule ^/?$ /cms
RewriteCond %{HTTP_HOST} !^www\.domain\.de$ [NC]
RewriteRule ^(.*)$ http://www.domain.de/$1 [R=301,L]
Ist die vorliegende Syntax korrekt? Gibt es eine Verbesserung? Interpretiere ich die Condition dahingehend richtig, als dass ich denke, dass alles, was nicht www. domain. de entspricht (! = Negation von www. domain. de), mit der nachfolgenden Rule auf www. domain. de permanent [R=301] umgeleitet wird. NC steht dabei für "No-Case" (also case-insensitive) und L bekanntermaßen für "Last" (also letzte Rule, alle nachfolgenden Rules werden nicht weiter beachtet).

Im Unterverzeichnis /cms/ habe ich eine weitere .htaccess, in der ich
Code:
RewriteBase /
definiert habe. Im CMS ist als BaseURL http:// www. domain. de/cms/ angegeben. Ist das korrekt so?

Vielen Dank für Eure Hilfe!

PS: Denkt Euch die Leerzeichen in den Domains weg, da ansonsten irreführende Links erzeugt werden!
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 27.04.2010, 23:26
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 13.07.2006
Beiträge: 414
Maxefix ist ein sehr geschätzer MenschMaxefix ist ein sehr geschätzer MenschMaxefix ist ein sehr geschätzer Mensch
Standard

Ist das noch aktuell?

Falls ja: Einfach so lang rumexperimentieren bis es wie gewünscht funktioniert. Da lernt man am meisten. Wobei Mod-Rewrite und Reguläre Ausdrücke schon so nen Kapitel für sich sind. Da muss ich oft auch noch experimentieren.

Der Code der auf die Hauptdomain umleitet sieht mir ok aus, nur die Umleitung auf /cms/ scheint mir nicht ganz richtig zu sein, oder?

Würde es so machen:
Code:
RewriteEngine On
RewriteBase /

# Auf Hauptdomain umleiten
RewriteCond %{HTTP_HOST} !^www\.domain\.de$ [NC]
RewriteRule ^(.*)$ http://www.domain.de/$1 [R=301,L]

# Falls nicht auf eine existierende Datei verwiesen wird -> Auf CMS umleiten
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ cms/$1 [L]
Sollte funktionieren

Domains werden übrigens immer kleingeschrieben. Also sollte man auf das [NC] verzichten können. Schaden tuts natürlich nicht.

Gruß,
Max

PS: Das CMS verhält sich dann Normalerweise so wie wenn es direkt im Document-Root liegen würde, als Base-URL kannst du also direkt http://www.domain.de/ eintragen.
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 29.04.2010, 15:06
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 25.03.2009
Beiträge: 21
Oggy befindet sich auf einem aufstrebenden Ast
Standard

Ah, schön dass doch noch jemand geantwortet hat. Ich werde das am Abend mal ausprobieren. Vielen Dank!

Wenn ich im CMS die BaseURL ändere, dann sollte das Unterverzeichnis cms in der URL ja theoretisch verschwinden. Das wäre sehr wünschenswert.
Mit Zitat antworten
  #4 (permalink)  
Alt 29.04.2010, 15:34
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 13.07.2006
Beiträge: 414
Maxefix ist ein sehr geschätzer MenschMaxefix ist ein sehr geschätzer MenschMaxefix ist ein sehr geschätzer Mensch
Standard

Die RewriteBase hat damit erstmal nichts zu tun. Die beeinflusst nur die folgenden RewriteRules:

mod_rewrite - Apache HTTP Server

Gruß,
Max
Mit Zitat antworten
  #5 (permalink)  
Alt 05.05.2010, 00:02
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 25.03.2009
Beiträge: 21
Oggy befindet sich auf einem aufstrebenden Ast
Standard

Leider gibt es mit der Config immer noch Probleme:

Prinzipiell werden beide Domains (com+de) egal ob mit oder ohne vorangestelltem www. auf www. domain .de weitergeleitet. Wenn allerdings eine existierende Seite auf der .com-Domain aufgerufen wird, also z.B. www. domain .com/cms dann wird NICHT auf www. domain .de/cms weitergeleitet. Somit habe ich Double Content, was ich aber unbedingt vermeiden will. Wo steckt nun der Fehler?

@Maxefix:
Ich habe meine ursprüngliche Weiterleitung auf /cms erstmal nicht geändert, da Deine Variante für den Augenblick mehr Probleme verursacht hat.

.htaccess in der DocumentRoot:
Code:
RewriteEngine On
RewriteBase /

RewriteRule ^/?$ /cms

RewriteCond %{HTTP_HOST} !^www\.domain\.de$ [NC]
RewriteRule ^(.*)$ http://www.domain.de/$1 [R=301,L]
.htaccess im Unterverzeichnis /cms:
Code:
RewriteEngine On
RewriteBase /cms/

RewriteRule ^typo3$ - [L]
RewriteRule ^typo3/.*$ - [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php
Lustigerweise klappt der Redirect im Unterverzeichnis /shop problemlos, d.h. www. domain .com/shop wird auf www. domain .de/shop weitergeleitet. So soll es ja auch sein. Im Shop-Verzeichnis liegt allerdings keine weitere .htaccess-Config!
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
jquery // css ändern vor header weiterleitung bzw. nach erzeugtem pdf monran Javascript & Ajax 2 02.03.2011 22:25
301 Weiterleitung .htaccess BoFiaZ Serveradministration und serverseitige Scripte 4 20.09.2010 19:22
Weiterleitung mit .htaccess ms_fvfv Serveradministration und serverseitige Scripte 1 02.08.2010 23:28
Fehlermeldung: "No input file specified" nach php weiterleitung nevermind Serveradministration und serverseitige Scripte 2 19.09.2008 11:27
weiterleitung omex (X)HTML 3 18.10.2007 00:38


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:58 Uhr.