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, 2112 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
Webentwicklung
gelöst Lets Encrypt cert Problem nach IIS 7.5 redirect (4)

Frage von Leo-le zum Thema Webentwicklung ...

Informationsdienste
gelöst IIS 7.5 Probleme mit Bindung (9)

Frage von Leo-le zum Thema Informationsdienste ...

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

Frage von Rene1976 zum Thema CMS ...

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

Frage von julianstroebel zum Thema Windows Server ...

Neue Wissensbeiträge
Linux Netzwerk

Ping und das einstellbare Bytepattern

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
SAN, NAS, DAS
MSA 2050 RAID Konfig (24)

Frage von Leo-le zum Thema SAN, NAS, DAS ...

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (10)

Frage von RickTucker zum Thema Netzwerkmanagement ...

Netzwerkmanagement
Suche eine Software für Cloudverwaltung (6)

Frage von tsunami zum Thema Netzwerkmanagement ...

Google Android
Musik Wiedergabe am PC mit Smartphone über Bluetooth steuern (5)

Frage von justlukas zum Thema Google Android ...