|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2014-07-23 14:25 UTC] tobias at twokings dot nl
Description: ------------ I'm using a mod_rewrite configuration that rewrites everything to index.php, like this one: RewriteEngine On RewriteRule /index.php - [L] RewriteRule .* /index.php [L] ...and the test script below. I request a few URLs, such as: http://localhost/ http://localhost/asdf http://localhost/asdf.foo Testing with command-line cURL, talking to Apache 2.4 (as provided by debian) with mod_php and mod_rewrite, running on localhost:80 in the default vhost, and `php -S localhost:8000`. Test script: --------------- <?php // It's not really relevant what we echo here; // this is just so we can see whether our script actually get hit echo $_SERVER['REQUEST_URI']; Expected result: ---------------- Identical results for apache and the built-in web server. Actual result: -------------- The built-in web server responds with a "404 Not Found" for URLs containing dots, instead of echoing the REQUEST_URI. Sample session: -------- me@localhost:~/ > curl localhost:80/ / me@localhost:~/ > curl localhost:80/asdf /asdf me@localhost:~/ > curl localhost:80/asdf.foo /asdf.foo me@localhost:~/ > curl localhost:8000/ / me@localhost:~/ > curl localhost:8000/asdf /asdf me@localhost:~/ > curl localhost:8000/asdf.foo <!doctype html><html><head><title>404 Not Found</title><style> body { background-color: #fcfcfc; color: #333333; margin: 0; padding:0; } h1 { font-size: 1.5em; font-weight: normal; background-color: #9999cc; min-height:2em; line-height:2em; border-bottom: 1px inset black; margin: 0; } h1, p { padding-left: 10px; } code.url { background-color: #eeeeee; font-family:monospace; padding:0 2px;} </style> </head><body><h1>Not Found</h1><p>The requested resource <code class="url">/asdf.foo</code> was not found on this server.</p></body></html> PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 11:00:01 2025 UTC |
Oh, and my router script is <?php error_log("serving {$_SERVER["REQUEST_URI"]}"); echo PHP_VERSION . ": ", $_SERVER["REQUEST_URI"], "\n";