.htaccess — проблемы с маршрутизацией в PHP 7.1

Я новичок в 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]

Конечно, я запустил скрипт из веб-браузера, поэтому необходимо определить $ _REQUEST [‘URI’].
Проблема появляется на:
PHP 7.1 + Apache2.4 + Ubuntu16.04

Может ли кто-нибудь помочь?

0

Решение

В вашем .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

0

Другие решения

Как говорит @EduardoEscobar, вы пытаетесь сделать следующее:

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector