um doppelten Content zu vermeiden habe ich eine .htaccess erstellt mir folgendem Inhalt:
RewriteEngine On
RewriteCond %{HTTP_Host} ^wissen-script\.de$ [NC]
RewriteRule ^(.*)$ http://www.wissen-script.de/$1 [R=301,L]
Nach dem Einsatz dieser Datei erscheinte nur noch folgende Meldung, nach dem Aufruf der Internetseite: [quote]Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@bplaced.net and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Apache/2.2 Server at quamm.de Port 80[/quote]
vielen Dank für deine schnelle Antwort. Leider ändert dies nichts an der Fehlermeldung.
Mir fällt gerade auf, dass es sich eigentlich sogar um vierfachen Content handelt. Gleiches Problem gibt es schließlich noch mit wissen.bplaced.net.
Und unter .de gibt es das gleiche Spiel nocheinmal. Wie leite ich die denn nun alle um?
Den vielfachen Möglichkeiten die Webseite zu erreichen, kannst du eliminieren, indem die Bedingung so aussieht:
RewriteEngine On
RewriteCond %{HTTP_Host} !^www\.wissen-script\.de$ [NC]
RewriteRule ^(.*)$ http://www.wissen-script.de/$1 [R=301,L]
(Ich habe jetzt nur deinen Code verändert, wird also wahrscheinlich auch noch nich laufen, aber ich hoffe du hast das Prinzip verstanden. Man beachte das Ausrufezeichen!)
danke für deine Antwort, ob ich die .htaccess nun für Linux oder Windows schreibe, es zeigt den selben Fehler.
Hatte nun zwischenzeitlich versucht mit PHP auf jeder Seite die aufgerufene URL auszulesen und einfach weiterzuleiten, leider hat mir print_r($_SERVER); gezeigt dass gar nicht abgerufen werden kann ob nun die Seite mit oder ohne www aufgerufen wurde.
Lässt sich das Problem vielleicht auf einen anderen Weg lösen?
Ich hatte es selbst auf diese Art auf einer Seite gelöst gehabt:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www\.wissen\-script\.de)$
RewriteRule ^(.*)$ http://www.wissen-script.de%{REQUEST_URI} [R=301]
REQUEST_URI, damit auch der Querystring mit kommt.
Na, dies sollte funktionieren – selbst getestet und alles. Der Query-String wird auch übernommen, dank QSA.
RewriteEngine On
RewriteCond %{HTTP_HOST} !=www.wissen-script.de [NC]
RewriteRule ^(.*)$ http://www.wissen-script.de/$1 [L,NC,NE,QSA,R=301]
Den Bindestrich als Rewrite-Muster zu nehmen hört sich in der Theorie gut an, weil man ja dort nicht wirklich irgendwas matchen muss, allerdings ignoriert Apache dann die komplette Regel und schaut sich nur die [flags] an.
habe nun noch einmal alle genannten Lösungen versucht, auch mit einer Domain die nur aus einem Wort besteht. Leider will nichts funktionieren. Wieso bekomme ich immer diese Fehlermeldung?
Ich bin übrigens bei united-domains, falls das etwas zur Sache tut.
RewriteRule ^(.*)$ index_dynamisch.php?url=$1 [L,NC,QSA][/code]
Wird nun wissen-script.de/wissen/gold-ist … r-als-blei aufgerufen, wird “gold-ist-schwerer-als-blei” an die index_dynamisch.php als Variable weitergegeben die aus der Datenbank den passenden Inhalt ausgibt und dadurch einen Order simuliert.
Wie es scheint lässt sich dies allerdings nicht so einfach mit der .htaccess im Hauptverzeichnis kombinieren.
RewriteEngine On
RewriteCond %{HTTP_HOST} !=www.wissen-script.de [NC]
RewriteRule ^(.*)$ http://www.wissen-script.de/$1 [L,NC,NE,QSA,R=301]
Einfach die Zeilen RewriteCond einfügen oder vor den Pfad in der RewriteRule die URL hinzufügen funktoniert leider nicht.
Wie muss ich die .htaccess im Verzeichnis “wissen” umschreiben damit die Weiterleitungen funktionieren wie bei der .htaccess im Hauptverzeichnis? (Also alle Weiterleitungen und hinter die Ordner wird ein “/” angehängt.)
Problem 3, Rewrite-Regeln, die im Ordner direkt definiert werden, haben Vorrang, und REQUEST_URI würde umgeschrieben werden.
Lösung: noch 'ne RewriteCond.
Na, ich denk, jetzt hab’ ich’s dann.
RewriteEngine On
RewriteCond %{HTTP_HOST} !=www.wissen-script.de [NC]
RewriteRule .* http://www.wissen-script.de%{REQUEST_URI} [L,NC,NE,QSA,R=301]
leider scheint noch eine Kleinigkeit zu fehlen. Wenn ich nun wissen-script.de/wissen/startseite/. (Gleiches passiert wenn die beiden Subdomains aufgerufen werden.)
Wenn ich wissen-script.de/wissen/startseite aufgerufen werden und es wird nicht automatisch ein Schrägstrich angefügt wie es die .htaccess im root-Verzeichnis macht. (Ob nun mit oder ohne Schrägstrich ist eigentlich unwichtig, hauptsache einheitlich)
Habe nun versucht einfach “/wissen” an die URL in der .htaccess anzuhängen die sich im Ordner “wissen” befindet da dies ja fehlte. Allerdings will das nicht funktionieren.
Irgendetwas scheint da noch Krumm zu sein.
Und du hast beide .htaccess angepasst? Das Problem hatte ich beim Testen auch, allerdings hat es funktioniert, nachdem ich statt $1 %{REQUEST_URI} genommen habe.