Suche: Redirect-Funktion (php; mit dateinamen!)

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
Wuppi
Mitglied
Beiträge: 734
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Suche: Redirect-Funktion (php; mit dateinamen!)

Beitrag von Wuppi »

Hi

sowas hatte ich schonmal .... also wir umgezogen sind .. im Forum gabs viele links auf Beitrag alla http://subdomain.domain.de/viewtopic.php?t=293 (auch von anderen Seiten, Foren aus)

Wir haben ne eigene Domain bekommen => www.domain.de - die Subdomain funzte aber noch => dort hab ich u.a. viewtopic.php, viewforum.php erstellt - als inhalt war so nen Umbenennung der Domain - aus subdomain.domain.de sollte www.domain.de gemacht werden. Hat auch geklappt - nur das script find ich natürlich net mehr ;)

Jetzt ziehen wir wieder um und es haben sich schon ein haufen Links angesammelt ;) Will das ganze also wieder so machen (die andere Domain behalten wir; darf aber nur noch nen redirect sein)

header("Location: http://www.domain.de/"); <- so würde ich direkt umleiten - aber viewtopic.php?xxx würde nicht mitgenommen ... wie ging das nochmal? ;)

Bis denne
Wuppi
Benutzeravatar
Mister_X
Ehemaliges Teammitglied
Beiträge: 7102
Registriert: 24.05.2001 02:00
Wohnort: Augsburg

Beitrag von Mister_X »

Code: Alles auswählen

<?php
header("Location: http://www.domain.de".$_SERVER["REQUEST_URI"]);
?>
? sowas ?
Benutzeravatar
Wuppi
Mitglied
Beiträge: 734
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Beitrag von Wuppi »

Hi

grundsätzlich schon ... aber der mist klappt net :(

Hab den Short-URLs-Mod drauf - das hat zur folge das ich halt auch Links in form von domain.de/forum15.html habe .... DAS klappt nicht

Ich hab in dem verzeichnis die gleiche .htaccess wie im Forenverzeichnis ... wenn ich /forums.html aufrufe, klappt das auch problemlos - nur z.b. forum15.html nicht - hier bekomm ich nen 404 ... mod_rewrite sollte doch dafür sorgen das dieser Aufruf umgewandelt wird - in viewforum.php?x=y

Wenn ich direkt /viewforum.php?x=y aufrufe kommt auch nen 404er ... von der Domain die umleiten sollte - nicht von der Ziel-Domain.

Hab in der viewforum.php mittlerweile nur noch

Code: Alles auswählen

header("Location: http://www.domain.de".$_SERVER["REQUEST_URI"]); 
drin stehen.

Soweit ich weiß müsste ich so ne umleitung auch direkt per .htaccess machen können - hätte aber den Nachteil das ich so nen kleinen counter nicht nutzen kann - ich müsste wissen welche Domains abgestoßen werden könnten ... also welche seit x Wochen nicht aufgerufen wurde. Daher kommt diese Variante nicht in Frage ... nur via header und "request_uri"

Bis denne
Wuppi
Benutzeravatar
Wuppi
Mitglied
Beiträge: 734
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Beitrag von Wuppi »

Argh ...

Nach 20-30mal abspeichern/hochladen - ohne was zu ändern "Frust-Upload" klappt der mist ;)

Jetzt zählt mein Counter aber nicht ;) Ich hab ewig nichts mehr mit if-Abfragen gemacht ... es muß zwischen 6 Domains unterschieden werden (und das in zwei schreibweisen: www.domain.de ist ja nicht gleich domain.de) ... da muß ich mich jetztnochmal reinlesen :( Oder auf die stelle nen guten tip? ;)

Bis denne
Wuppi
Benutzeravatar
Mister_X
Ehemaliges Teammitglied
Beiträge: 7102
Registriert: 24.05.2001 02:00
Wohnort: Augsburg

Beitrag von Mister_X »

Da müsste man jetzt genauer wissen wo es denn hängt, da if-Abfragen ja nun wirklich nicht schwer sind ;)
Als Variable für den aufgerufenen Domainnamen könnte man $_SERVER["HTTP_HOST"] nehmen....
Benutzeravatar
Wuppi
Mitglied
Beiträge: 734
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Beitrag von Wuppi »

Hi

es läuft jetzt ;) sieht nur irgendwie nach "quick & dirty" aus. ...

Da ich die Domains (6) ja zählen möchte, muß ich sie unterscheiden:

Code: Alles auswählen

(kurzform)
if ($domain == "blabla.de" or $domain =="www.blabla.de") {
$Counter ++
#redirect
} 
else

if ($domain == "blie.de" or $domain =="www.blie.de") {
$Counter ++
#redirect
} 
else {
#redirect
}
Case ist mir nen begriff, aber wie ich in beispielen sehe, geht das nur mit zahlen ...

Kann man die verschachtelung etwas sauber machen? ;)

Bis denne
Wuppi
Benutzeravatar
Mister_X
Ehemaliges Teammitglied
Beiträge: 7102
Registriert: 24.05.2001 02:00
Wohnort: Augsburg

Beitrag von Mister_X »

sh. hier: http://www.phpbb.de/viewtopic.php?p=273846#273846
switch geht also sehr wohl auch mit Wörtern.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Und mit verschiedenen Domains gehts so:

Code: Alles auswählen

switch($domain) {
  case 'domain.de':
  case 'www.domain.de':
    mach_was();
    break;

  case 'anderedomain.de':
  case 'www.anderedomain.de':
  case 'andere.domain.de':
    mach_was_anderes();
    break;
}
Jensemann
Ehemaliges Teammitglied
Beiträge: 2549
Registriert: 25.02.2002 01:00

Beitrag von Jensemann »

Wuppi hat geschrieben: Case ist mir nen begriff, aber wie ich in beispielen sehe, geht das nur mit zahlen ...
in PHP gehts auch mit strings. In z.B. C gehts nur mit int
DerOlum
Mitglied
Beiträge: 38
Registriert: 30.05.2003 01:28

Beitrag von DerOlum »

danke mister x!

das klappt prima mit der weiterleitung!

gruß,
olum
Antworten

Zurück zu „Coding & Technik“