1: <?php
2:
3: /*
4: * This file is part of the Symfony package.
5: *
6: * (c) Fabien Potencier <fabien@symfony.com>
7: *
8: * For the full copyright and license information, please view the LICENSE
9: * file that was distributed with this source code.
10: */
11:
12: namespace Symfony\Component\HttpFoundation;
13:
14: /**
15: * Request represents an HTTP request from an Apache server.
16: *
17: * @author Fabien Potencier <fabien@symfony.com>
18: */
19: class ApacheRequest extends Request
20: {
21: /**
22: * {@inheritdoc}
23: */
24: protected function prepareRequestUri()
25: {
26: return $this->server->get('REQUEST_URI');
27: }
28:
29: /**
30: * {@inheritdoc}
31: */
32: protected function prepareBaseUrl()
33: {
34: $baseUrl = $this->server->get('SCRIPT_NAME');
35:
36: if (false === strpos($this->server->get('REQUEST_URI'), $baseUrl)) {
37: // assume mod_rewrite
38: return rtrim(dirname($baseUrl), '/\\');
39: }
40:
41: return $baseUrl;
42: }
43:
44: /**
45: * {@inheritdoc}
46: */
47: protected function preparePathInfo()
48: {
49: return $this->server->get('PATH_INFO') ?: substr($this->prepareRequestUri(), strlen($this->prepareBaseUrl())) ?: '/';
50: }
51: }
52: