PHP7.1路由问题

PHP 7.1 routing problems

我是 apache2 和 php 的新手,因为这几天我试图找出我的代码或服务器配置有什么问题。 当我 运行 一个简单的行时,例如:

$uri = $_REQUEST['URI'];
echo("$uri");

我收到一个错误:

Notice: Undefined index: URI in /var/www/html/...

我需要 $_REQUEST['URI'] 来构建我自己的路由器。 文件 .htaccess 已添加到项目中,因此 apache 应该知道我将覆盖路由。顺便说一句,它看起来像:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [NC,L]

当然,我 运行 来自 Web 浏览器的脚本,因此应该定义 $_REQUEST['URI']。 问题出现在: PHP7.1 + Apache2.4 + Ubuntu16.04

有人可以帮忙吗?

正如@EduardoEscobar 所说,您要做的是:

$uri = $_SERVER['REQUEST_URI'];
echo("$uri");

在你的 .htaccess 文件中添加这个

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ /index.php?url= [QSA,L]
</IfModule>

然后在您的 index.php 主文件中将 url 捕获为

<?php echo $_GET['url']; ?>

因此,如果用户打开类似 example.com/test 的页面 那么输出将是 test