zend_bailout();
return;
} else {
- char *tmp, sa;
+ char *tmp, sa, *myentry;
sapi_header_line ctr = {0};
ctr.response_code = 301;
ctr.line_len = sizeof("HTTP/1.1 301 Moved Permanently")+1;
sa = *tmp;
*tmp = '\0';
ctr.response_code = 0;
- ctr.line_len = spprintf(&(ctr.line), 4096, "Location: %s%s", path_info, entry);
+ if (entry[0] == '/' && path_info[strlen(path_info)-1] == '/') {
+ myentry = entry + 1;
+ } else {
+ myentry = entry;
+ }
+ ctr.line_len = spprintf(&(ctr.line), 4096, "Location: %s%s", path_info, myentry);
*tmp = sa;
sapi_header_op(SAPI_HEADER_REPLACE, &ctr TSRMLS_CC);
sapi_send_headers(TSRMLS_C);
$a['a.php'] = 'hio';
$a['a.jpg'] = 'hio';
$a['a.phps'] = '<?php function hio(){}';
+$a['index.php'] = 'here is my index';
$a->setStub('<?php
Phar::webPhar();
echo "oops did not run\n";
--- /dev/null
+--TEST--
+Phar front controller phps
+--SKIPIF--
+<?php if (!extension_loaded("phar")) die("skip"); ?>
+--ENV--
+SCRIPT_NAME=/frontcontroller4.php
+REQUEST_URI=/frontcontroller4.php
+--FILE_EXTERNAL--
+frontcontroller.phar
+--EXPECTHEADERS--
+Status: 301 Moved Permanently
+Location: /frontcontroller4.php/index.php
+--EXPECT--
--- /dev/null
+--TEST--
+Phar front controller phps
+--SKIPIF--
+<?php if (!extension_loaded("phar")) die("skip"); ?>
+--ENV--
+SCRIPT_NAME=/frontcontroller5.php/
+REQUEST_URI=/frontcontroller5.php/
+--FILE_EXTERNAL--
+frontcontroller.phar
+--EXPECTHEADERS--
+Status: 301 Moved Permanently
+Location: /frontcontroller5.php/index.php
+--EXPECT--