@@ -1148,6 +1148,19 @@ static void init_request_info(TSRMLS_D)
1148
1148
TRANSLATE_SLASHES (env_document_root );
1149
1149
}
1150
1150
1151
+ if (env_path_translated != NULL && env_redirect_url != NULL &&
1152
+ env_path_translated != script_path_translated &&
1153
+ strcmp (env_path_translated , script_path_translated ) != 0 ) {
1154
+ /*
1155
+ * pretty much apache specific. If we have a redirect_url
1156
+ * then our script_filename and script_name point to the
1157
+ * php executable
1158
+ */
1159
+ script_path_translated = env_path_translated ;
1160
+ /* we correct SCRIPT_NAME now in case we don't have PATH_INFO */
1161
+ env_script_name = env_redirect_url ;
1162
+ }
1163
+
1151
1164
#ifdef __riscos__
1152
1165
/* Convert path to unix format*/
1153
1166
__riscosify_control |= __RISCOSIFY_DONT_CHECK_DIR ;
@@ -1316,7 +1329,7 @@ static void init_request_info(TSRMLS_D)
1316
1329
efree (pt );
1317
1330
}
1318
1331
} else {
1319
- /* make sure original values are remembered in ORIG_ copies if we've changed them */
1332
+ /* make sure path_info/translated are empty */
1320
1333
if (!orig_script_filename ||
1321
1334
(script_path_translated != orig_script_filename &&
1322
1335
strcmp (script_path_translated , orig_script_filename ) != 0 )) {
@@ -1325,6 +1338,16 @@ static void init_request_info(TSRMLS_D)
1325
1338
}
1326
1339
script_path_translated = _sapi_cgibin_putenv ("SCRIPT_FILENAME" , script_path_translated TSRMLS_CC );
1327
1340
}
1341
+ if (env_redirect_url ) {
1342
+ if (orig_path_info ) {
1343
+ _sapi_cgibin_putenv ("ORIG_PATH_INFO" , orig_path_info TSRMLS_CC );
1344
+ _sapi_cgibin_putenv ("PATH_INFO" , NULL TSRMLS_CC );
1345
+ }
1346
+ if (orig_path_translated ) {
1347
+ _sapi_cgibin_putenv ("ORIG_PATH_TRANSLATED" , orig_path_translated TSRMLS_CC );
1348
+ _sapi_cgibin_putenv ("PATH_TRANSLATED" , NULL TSRMLS_CC );
1349
+ }
1350
+ }
1328
1351
if (env_script_name != orig_script_name ) {
1329
1352
if (orig_script_name ) {
1330
1353
_sapi_cgibin_putenv ("ORIG_SCRIPT_NAME" , orig_script_name TSRMLS_CC );
0 commit comments