@@ -478,6 +478,22 @@ private function URIhasPHP()
478
478
479
479
}
480
480
481
+ public function is_root_script ()
482
+ {
483
+
484
+ if (
485
+ $ this ->format_unix ($ _SERVER ['SCRIPT_FILENAME ' ]) === $ this ->format_unix ($ _SERVER ['DOCUMENT_ROOT ' ] . '/ ' . $ this ->indexPath )
486
+ && $ this ->getExt ($ this ->indexPath ) == 'php '
487
+ ) {
488
+
489
+ return TRUE ;
490
+
491
+ }
492
+
493
+ return FALSE ;
494
+
495
+ }
496
+
481
497
/**
482
498
* Adjust some $_SERVER variables
483
499
*/
@@ -508,24 +524,32 @@ function fix_path_info()
508
524
unset($ _SERVER ['HTTP_L ' ]);
509
525
}
510
526
511
- if (!isset ($ _SERVER ['PHP_INFO ' ]) && substr ($ _SERVER ['REQUEST_URI ' ], -1 , 1 ) !== '/ ' && $ this ->getExt ($ _SERVER ['REQUEST_URI ' ]) == "" ) {
512
527
513
- $ _SERVER ['REQUEST_URI ' ] = $ _SERVER ['REQUEST_URI ' ] . '/ ' ;
514
- $ _SERVER ['PHP_SELF ' ] = $ _SERVER ['PHP_SELF ' ] . '/ ' ;
528
+ if (!$ this ->is_root_script ()) {
529
+
530
+ if (!isset ($ _SERVER ['PHP_INFO ' ]) && substr ($ _SERVER ['REQUEST_URI ' ], -1 , 1 ) !== '/ ' && $ this ->getExt ($ _SERVER ['REQUEST_URI ' ]) == "" ) {
531
+
532
+ $ _SERVER ['REQUEST_URI ' ] = $ _SERVER ['REQUEST_URI ' ] . '/ ' ;
533
+ $ _SERVER ['PHP_SELF ' ] = $ _SERVER ['PHP_SELF ' ] . '/ ' ;
534
+
535
+ }
536
+
537
+ return FALSE ;
515
538
516
539
}
540
+ /**/
517
541
518
- if ( !isset ($ _SERVER ['ORIG_PHP_SELF ' ])){
542
+ if ( !isset ($ _SERVER ['ORIG_PHP_SELF ' ])){
519
543
$ _SERVER ['ORIG_PHP_SELF ' ] = $ _SERVER ['PHP_SELF ' ];
520
544
}
521
- if ( !isset ($ _SERVER ['ORIG_PHP_SELF ' ])){
545
+ if ( !isset ($ _SERVER ['ORIG_PHP_SELF ' ])){
522
546
$ _SERVER ['ORIG_PATH_INFO ' ] = "" ;
523
547
}
524
548
$ _SERVER ['ORIG_PATH_INFO ' ] = isset ($ _SERVER ['PATH_INFO ' ]) ? $ _SERVER ['PATH_INFO ' ] : "" ;
525
549
526
- $ _SERVER ['PATH_INFO ' ] = $ path_info ;
550
+ // $_SERVER['PATH_INFO'] = $path_info;
527
551
528
- $ _SERVER ['PHP_SELF ' ] = $ _SERVER ['SCRIPT_NAME ' ] . $ _SERVER ['PATH_INFO ' ];
552
+ $ _SERVER ['PHP_SELF ' ] = $ _SERVER ['SCRIPT_NAME ' ] . ( isset ( $ _SERVER ['PATH_INFO ' ]) ? $ _SERVER [ ' PATH_INFO ' ] : "" ) ;
529
553
530
554
if (substr ($ _SERVER ['PHP_SELF ' ], -1 , 1 ) == '/ ' ) {
531
555
$ _SERVER ['PHP_SELF ' ] = substr ($ _SERVER ['PHP_SELF ' ], 0 , -1 );
@@ -562,8 +586,8 @@ function listen()
562
586
*/
563
587
564
588
if ($ this ->getExt ($ this ->URI_no_query ()) == "" ) {
565
-
566
- header ("Content-Length: " .$ this ->file_length );
589
+
590
+ // header("Content-Length: ".$this->file_length);
567
591
568
592
return FALSE ;
569
593
0 commit comments