Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Redirect Problem bei IIS 7.5 und PHP

Frage Entwicklung PHP

Mitglied: Airler

Airler (Level 1) - Jetzt verbinden

25.10.2013, aktualisiert 20:20 Uhr, 2100 Aufrufe, 1 Kommentar

Einen schönen guten Abend,

ich hoffe ihr könnt mir helfen, da ich zur Zeit mit dem Problem nicht mehr weiterkomme.

Es geht darum das ich einen IIS (war Anforderung) habe auf dem ich zusätzlich noch PHP installiert habe um eine PHP Anwendung zum laufen zu bringen.
Die PHP Anwendung arbeitet mit Weiterleitungen, zum Beispiel wenn man die Seite aufruft und noch nicht eingeloggt ist wird man zuerst auf die Login Seite weitergeleitet.
Dies klappt auf einem Apache Server auch ohne Probleme nur auf dem IIS macht das ganze zicken...

Und zwar ergibt sich das Phänomen, das man bei Aufruf der Seite dann wie folgt "weitergeleitet" wird:
Aufruf von http://sub.domain.de leitet auf http://sub.domain.de\/login.php weiter. (Ergebnis aus Firefox
Derselbe Aufruf im IE und einigen anderen Browsern ruft http://sub.domain.de//login.php hervor.

Die zweite Variante sorgt zwar schon dafür, das der Besucher auf der Webseite landet, aber schön ist sowas trotzdem nicht, viel mehr Kopfzerbrechen bereitet mir allerdings die erste Variante. Diese sorgt - wen wunderts - für einen Seitenladefehler...

Das Script, das für die Weiterleitung verantwortlich ist sieht wie folgt aus:
01.
<?php 
02.
	session_start(); 
03.
	 
04.
	$hostname = $_SERVER['HTTP_HOST']; 
05.
	$path = dirname($_SERVER['PHP_SELF']); 
06.
	$script = $_SERVER['PHP_SELF']; 
07.
	 
08.
	if (isset($https) && ($https == true)) { 
09.
		$protocol = 'https'; 
10.
	} else
11.
		$protocol = 'http'; 
12.
13.
	 
14.
	if (!isset($_SESSION["username"]) || !$_SESSION['username']) 
15.
16.
		header('Location: '.$protocol.'://'.$hostname.($path == '/' ? '' : $path).'/login.php'.($script == '/index.php' ? '' : '?ref='.$script)); 
17.
18.
?>
Eine kurze Erläuterung: ich hole mir zunächst das aufgerufene Script, den Pfad und den Hostnamen und leite den Besucher je nach Einstellung auf die http bzw. die https Seite weiter.

Im IIS habe ich "keine" weiteren Einstellungen bezüglich Rules, Redirects etc. gemacht, die mir das Verhalten evtl. erklären würden.

Hat einer von Euch vielleicht eine Idee woran das liegen könnte? Bzw. sogar eine Lösung?
Vielen Dank für Tipps im voraus!!!!

Schöne Grüße,
Torben

EDIT: IIS Version 7.5
Mitglied: Airler
26.10.2013 um 20:01 Uhr
Es ist zwar mehr ein Workaround aber mit der folgenden Änderung im Code funktioniert die Umleitung erfolgreich.
Dabei werden Doppelslash und Backslash-Slash Kombinationen durch einen einfachen Slash ersetzt:
01.
//... 
02.
        if (!isset($_SESSION["username"]) || !$_SESSION['username']) 
03.
04.
		$search_ary = array('\/', '//'); 
05.
		$url = $hostname.($path == '/' ? '' : $path).'/login.php'.($script == '/index.php' ? '' : '?ref='.$script); 
06.
		$url = str_replace($search_ary, '/', $url); 
07.
		header('Location: '.$protocol.'://'.$url); 
08.
	}
Schöne Grüße,
Torben
Bitte warten ..
Ähnliche Inhalte
Windows Server
Problem mit Webdav und Webserver IIS (3)

Frage von JUJUS31 zum Thema Windows Server ...

Windows Server
gelöst IIS 8 URL Redirect für einzelne Subdomain auf Linux Apache Server (3)

Frage von julianstroebel zum Thema Windows Server ...

PHP
gelöst PHP PDO Problem (1)

Frage von Tiggr1994 zum Thema PHP ...

CMS
PHP - WordPress auf Apache schneller als auf IIS? (13)

Frage von Rene1976 zum Thema CMS ...

Neue Wissensbeiträge
Rechtliche Fragen

Heiseshow, live ab 12 Uhr: Steht die Vorratsdatenspeicherung vor dem Aus?

Tipp von sabines zum Thema Rechtliche Fragen ...

Outlook & Mail

Outlook Probleme nach Juni Updates - KB3203467 ist Schuld

(1)

Information von Deepsys zum Thema Outlook & Mail ...

Microsoft Office

Windows 7, Office 2016 RTM und Updates ohne WSUS

Tipp von chgorges zum Thema Microsoft Office ...

E-Mail

Thunderbird 52 hat Druckprobleme

(3)

Tipp von magicteddy zum Thema E-Mail ...

Heiß diskutierte Inhalte
Server-Hardware
Einem Stromausfall entgegen wirken (22)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Server-Hardware ...

Festplatten, SSD, Raid
PC stellt nach dem Bios ab (20)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...

Humor (lol)
Aktuell keine IT Probleme (16)

Frage von lordofremixes zum Thema Humor (lol) ...