Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

weiterleitung suma freundlich

claudio

New member
Registriert
06. Feb. 2004
Beiträge
2.694
Reaktionspunkte
4
man lernt nie aus :(
habe leider die falsche weiterleitung eingebaut und somit wurde ein neues projekt nicht mehr indiziert sondern eine der domain die nur drauf leiten sollte.

deswegen stelle ich mal newbie frage:

300 domains wurden auf projekt 1 weitergeleitet. zweck, nur die typins sollen dort landen, die domains selbst sollen nicht indiziert in google sondern am besten einfach nur nicht gesperrt.

nach wenig googlen, heisst es angeblich,

<script language ="JavaScript">
<!--
window.location.replace('http://www.projektadresse.de');
// -->
</script>

wäre die beste möglichkeit, nur man soll halt auf die auf 301 - 302 status code.

wer kann behilflich sein, und aus erfahrung und wissen die beste möglichkeit genau erklären wie man die domains am besten weiterleiten soll. (hatte bisher frameweiterleitung aber da wurde auch die startseite immer indziert auf mehrere domains)

wie gesagt ziel ist einfach die 300 domains aus parking raus, und traffic auf ein neues projekt weiterzuleiten.

ich sag mal danke im vorraus.
beste Grüße
Claude
 
Ich nehme in dem Fall ein Verzeichnis, auf das ich alle Domains leite und darin eine Datei index.php mit dem Inhalt:
PHP:
<?php
header('HTTP/1.1 301 Moved permanently.');
header('Location: http://www.domain.tld/');
exit;
?>
Dabei ist "www.domain.tld" durch die Zieldomain zu ersetzen.

Wenn die umzuleitenden Domains Inhalte hatten, also z.B. auch "www.umzuleiten.tld/verzeichnis/datei" auf "www.domain.tld" landen soll, dann lege ich noch eine .htaccess-Datei mit dem Inhalt:
Code:
RewriteEngine on
RewriteRule   !^noexist_.*\.html - [C]
RewriteCond   /%{REQUEST_FILENAME} !-f
RewriteCond   /%{REQUEST_FILENAME} !-d
RewriteRule   ^(.+) /index.php
in das gleiche Verzeichnis.
 
Zuletzt bearbeitet:
danke coder.
ein paar mehr details von mir.
also es handelt sich nicht um einem Verzeichnis, sondern und Apache default.
Also DNS = IP vom server
xxxx domains landen dort an.
ich definiere für jede Domain die zieladresse und wird in der datenbank gespeichert.
index.php ist für alle domains gleich, liest die domain die abgerufen wurde, und schickt weiter entweder zu sedo, namedrive oder eigene projekte. etc..

somit ist die Zieladresse durch ein php befehl bisher realisiert: <?php echo"$url";?>

deshalb konnte ich die weiterleitung per .htaccess nicht realisieren. (ich glaube das ist nicht möglich echo in htaccess zu realisieren)

ich habe das oben was du erwähnt hast auch probiert, leider ohne erfolg. Ich bekomme die Meldung:

Warning: Cannot modify header information - headers already sent by (output started at /var/www/apache2-default/index.php:34) in /var/www/apache2-default/index.php on line 35
nur die javascript hat irgendwie funktioniert, nur die Domains liefern dann Status 200 OK was ich auch vermeiden möchte :(
PS: auf zeile 34 bzw. 35 sind halt header ....
 
ich habe das oben was du erwähnt hast auch probiert, leider ohne erfolg. Ich bekomme die Meldung:
(...header already send...)
nur die javascript hat irgendwie funktioniert, nur die Domains liefern dann Status 200 OK was ich auch vermeiden möchte :(
PS: auf zeile 34 bzw. 35 sind halt header ....

So ein Header redirect funktioniert nur wenn vorher noch nichts anderes an den Browser geschickt wurde. Da du den Code in Zeile 34+ eingefügt hast und auch die Fehlermeldung so lautet denke ich mal das davor noch normaler HTML code in der index.php steht.
Setze den gleichen Code einfach mal nach ganz oben in die index.php dann sollte es funktionieren. Oder poste mal den Inhalt deiner Index.php, das macht es auch leichter ,-)

Grüße,
paul
 
.. es handelt sich nicht um einem Verzeichnis, sondern und Apache default... index.php ist für alle domains gleich, liest die domain die abgerufen wurde, und schickt weiter entweder zu sedo, namedrive oder eigene projekte. etc..

somit ist die Zieladresse durch ein php befehl bisher realisiert: <?php echo"$url";?> ...
Dann müssen halt die drei PHP-Zeilen aus meinem Posting in die /var/www/apache2-default/index.php vor die Zeile 34 und "www.domain.tld" durch das, was in der Datenbank als Zieldomain steht, ersetzt werden.

Die .htaccess brauchst Du ja sowieso nicht, wenn ich Dich richtig verstehe. Es sollen doch nur "echte" TypeIns zur Zieldomain gehen.
 
Status 200 OK was ich auch vermeiden möchte :(
PS: auf zeile 34 bzw. 35 sind halt header ....


301 ist - wie gesagt - richtig.

Der von Dir genannte Error tritt i.d.R. dann auf, wenn vor dem "header()" schon eine Ausgabe (ich glaube auch z.B. ein Cookie) getätigt wurde oder wenn - Du wirst es Dir schon gedacht haben - vorher ein "header()" mit entsprechendem Inhalt ausgeführt wurde.


Edit: papo war schneller.
 
@coder korrekt, habe auch gemacht. meldet aber fehler.
@papo danke. siehe unten quellcode. ( bin selbst leider kein programmierer, deshalb weiss jetzt nicht genau was ich noch löschen kann, oder wo der fehler liegen kann)
kann es dran liegen, dass ich ein Master Ziel URL definiert habe, so wenn ich eine Domain nicht in der Datenbank eingetragen, wird dies standardmässig auf 1domain.at weitergeleitet? das kann ich löschen wenn es sein muss.
@whitelight danke
@kabale danke


<?
require('class_db.php');
require('config.php');
$db = new DataBase(++++);

$domain=$_SERVER['HTTP_HOST'];
$domain=ereg_replace("www.","",$domain);


$titel = "1domain";
$url="http://www.1domain.at/";

$select_sql = "SELECT * FROM parking WHERE domain LIKE '%$domain%'
";
$res = $db->execute($select_sql);

while($row = $db->row($res)){
$titel = $row['titel'];
$url = $row['ziel_domain'];
$liste = $row['liste'];
if ($liste){
$url = $url.$domain;
}
}

?>


<?php
header('HTTP/1.1 301 Moved permanently.');
header('Location: <?php echo"$url";?>');
exit;
?>
 
@papo
ich die zeilen ganz oben gegeben, ergebniss:

Umleitungsschleife
Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.


ich nehme an, weil die php echo url noch nicht gelesen war.
 
Versuchs mal so:

Code:
<?
require('class_db.php');
require('config.php');
$db = new DataBase(++++);

$domain=$_SERVER['HTTP_HOST'];
$domain=ereg_replace("www.","",$domain);


$titel = "1domain";
$url="http://www.1domain.at/";

$select_sql = "SELECT * FROM parking WHERE domain LIKE '%$domain%'";
$res = $db->execute($select_sql);

while($row = $db->row($res)){
	$titel = $row['titel'];
	$url = $row['ziel_domain'];
	$liste = $row['liste'];
	if ($liste){
		$url = $url.$domain; 
	}
}

//Umleitung:
header('HTTP/1.1 301 Moved Permanently.');
header("Location: $url");
exit;
?>
 
PHP:
<?php 

header("HTTP/1.1 301 Moved Permanently"); 
header("Location: $url"); 

?>

Normale Anführungszeichen verwenden!

Edit: Sry, den Vorposter nicht mehr registriert.
 
danke danke.
endlich gelöst.
habe sowohl ausf+h zeichen als auch die URL eingegeben.
jetzt geht die weiterleitung und auch status 301

danke euch. Ein Wein geht auf meine Rechnung beim nächsten DVF09.
 
Zurück
Oben