Bug #66191 [Com]: relative paths are not handled correctly

From: Date: Fri, 20 May 2016 09:16:46 +0000
Subject: Bug #66191 [Com]: relative paths are not handled correctly
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-201205@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=66191&edit=1

 ID:                 66191
 Comment by:         bobvantoorn at gmail dot com
 Reported by:        jakoch at web dot de
 Summary:            relative paths are not handled correctly
 Status:             Not a bug
 Type:               Bug
 Package:            Built-in web server
 Operating System:   Windows
 PHP Version:        5.4.22
 Block user comment: N
 Private report:     N

 New Comment:

I'd hate to say '+1', but this bug is still set to status 'not a bug'. I am
experiencing the same problem with PHP 5.6.

Please take another look at the ticket description and at useful comments that were added since it
was marked as 'not a bug'.

Thanks!


Previous Comments:
------------------------------------------------------------------------
[2014-09-12 15:11:12] ibit dot zee at gmail dot com

I can confirm this problem is real for relative links...

Same app tested with several other Server IIS5/IIS6/IIS7 and Apache works ok...

PHP internal server is trying to find the resource indicated by the relative path always in the
parent folder...

try also with './*' prefix, no prefix, only works with absolute path... and this is very
annoying... please fix (php 5.3x)

------------------------------------------------------------------------
[2014-09-10 14:11:58] magnusthorek at gmail dot com

I can confirm this too. There is even a post of mine in Stack Overflow
(http://stackoverflow.com/questions/25095425/php-built-in-webserver-and-relative-paths) detailing a
whole scenario mainly based in relative paths that does not work as expected.

And it's not only with this application I developed. phpMyAdmin also relies on relative paths
to load their CSS and JS and the "." is being resolved as one level above, right after the
port definition, instead of the current accessed by browser.

------------------------------------------------------------------------
[2014-04-05 00:03:00] steve at steveorevo dot com

I can confirm this. Doesn't happen with Apache or Nginx, but visiting a page without the
trailing slash causes subsequent links to fail.

------------------------------------------------------------------------
[2013-11-28 18:07:13] jakoch at web dot de

Demo: https://www.dropbox.com/s/go5ikn4kvryl6e1/php-server-bug.zip

http://localhost:90/application    <-- not working
http://localhost:90/application/   <-- working

Anon, i think you might be right and an implicit redirect would solve this.

------------------------------------------------------------------------
[2013-11-28 16:31:58] anon at anon dot anon

When you browse '/application', the web browser has no way of knowing that
'application' is a directory. It looks like a file in '/'. Consequently, the
base URI is '/', so the browser requests resources relative to there. The correct path you
should be viewing from is '/application/'. Therefore, it's a web server's
responsibility, whenever a directory is requested without a trailing slash, to send a redirect so
that it does have a trailing slash. Apparently this vital redirect isn't being sent. I'm
not familiar with PHP's built-in web server so I can't say if this missing redirect is a
bug in the server or a configuration or user error.

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=66191


--
Edit this bug report at https://bugs.php.net/bug.php?id=66191&edit=1


Thread (12 messages)

« previous php.bugs (#201205) next »