Seite 1 von 1

Unerklärlich: headers already sent by

Verfasst: 05.02.2009, 12:18
von Wildkater
Hallo Leutz, hatte damals schon mal gefragt in einem Thema und da wurde mich auch super geholfen und es ging auch. In einem Unterordner wende ich es auch an und es klappt.
Nur im Hauptverzeichnis nicht :-/

Nun wollte ich den Code wieder anwenden, um:
https://www.gaming-arena.net/
weiterzuleiten auf
https://www.gaming-arena.net/de/

Dazu benutzte ich .htaccess

Code: Alles auswählen

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.gaming-arena\.net
RewriteRule ^(.*)$ http://www.gaming-arena.net/$1 [R=301,L]
und index.php

Code: Alles auswählen

<?php
header&#40;"HTTP/1.1 301 Moved Permanently"&#41;;
header&#40;"Status&#58; 301 moved Permanently"&#41;;
header&#40;"Location&#58; http&#58;//www.gaming-arena.net/de/"&#41;;
header&#40;"Connection&#58;close"&#41;;
exit&#40;&#41;;
?>
Wenn man jetzt www.gaming-arena.net aufruft, kommt:
Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w00aa292/index.php:1) in /www/htdocs/w00aa292/index.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w00aa292/index.php:1) in /www/htdocs/w00aa292/index.php on line 3

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w00aa292/index.php:1) in /www/htdocs/w00aa292/index.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w00aa292/index.php:1) in /www/htdocs/w00aa292/index.php on line 5
Ich wüsste aber nicht wo dein ein Code seien sollte der schon vorher ausgeführt wird. *confused*

Wäre lieb, wenn ihr mir helft.

Verfasst:
von

Verfasst: 05.02.2009, 12:26
von seomedius
Vor der header Funktion darf keine andere Ausgabe (z.B ein echo) erfolgen.

siehe auch
https://de.php.net/header

Verfasst: 05.02.2009, 12:35
von Mork vom Ork
seomedius hat geschrieben:Vor der header Funktion darf keine andere Ausgabe (z.B ein echo) erfolgen.
Das gilt nicht nur für echo, sondern auch für alles, was vor dem ersten <?php erscheint. Steht da normaler Text, ist das natürlich offensichtlich, es kann sich aber auch um eine utf-8-Markierung handeln, die von utf-8-fähigen Texteditoren jedoch nicht angezeigt wird. In dem Falle muss man schauen, wie der Texteditor mit utf-8-kodiertem Text umgeht; beispielsweise findet sich bei Notepad++ im Format-Menü ein Punkt „UTF-8 ohne BOM“ (BOM = byte order mark, zwei Bytes, die der Erkennung von utf-8 dienen).

Verfasst:
von

Re: Unerklärlich: headers already sent by

Verfasst: 05.02.2009, 12:39
von Mork vom Ork
Wildkater hat geschrieben:es ging auch. In einem Unterordner wende ich es auch an und es klappt.
Was bitte ist „es“?
Nun wollte ich den Code wieder anwenden, um:
https://www.gaming-arena.net/
weiterzuleiten auf
https://www.gaming-arena.net/de/
Du hast den genau diesen Rewrite-Kram in einem Unterverzeichnis angewendet? Da hat er aber gar nichts zu suchen.

Wie dem auch sei, deine index.php ist überflüssig (mal abgesehen davon, dass für eine Weiterleitung die zwei Zeilen mit HTTP und Location völlig ausreichen, die anderen keine Funktion haben bzw. eine Verschlimmbesserung sind). Lösche sie ersatzlos, schreibe stattdessen die Zeile RedirectMatch permanent ^/$ https://www.gaming-arena.net/de/ in deine /.htaccess. Über den (Un-) Sinn, ausgerechnet unter / keinen Inhalt zu haben, sehe ich mal geflissentlich hinweg :)

Verfasst: 05.02.2009, 12:49
von Wildkater
Ich habe noch mehrere Domains, alle in einem Webspace.

So hab ich zb. Warsow-Arena, welches den Ordner auf dem Webspace:
/warsow-arena.de/

In dem Ordner habe ich die oben genannten Dateien und es funktioniert auch wie gewünscht.

Verfasst: 05.02.2009, 16:33
von HW
..ein "Leerzeichen" reicht schon aus -also mal das Leerzeichen weg machen

Gruß
HW