繁体   English   中英

PHP 7.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']。 问题出现在:PHP 7.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=$1 [QSA,L]
</IfModule>

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

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

因此,如果用户打开例如example.com/test之类的页面,则输出将为test

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM