Часть ссылки как параметр [дубликат]

112
08 июня 2021, 18:30
На этот вопрос уже даны ответы здесь:
Обрезать сроку до символа PHP [закрыт] (2 ответа)
Закрыт 1 год назад.

Допустим, есть ссылка: «www.example.com/catalog/value/» И нужно, чтобы перейдя по ней пользователь увидел содержимое главной страницы ( www.example.com ), но при этом туда же было бы передано значение «value» (например, чтобы просто отобразить на экране). Подскажите, как правильно такое осуществить?

Answer 1

Пример файла .htaccess:

RewriteEngine On
RewriteBase /
RewriteRule ^/catalog/([A-Za-z0-9\_]+)$ catalog.php?value=$1
RewriteRule ^/catalog/([A-Za-z0-9\_]+)/$ catalog.php?value=$1

Тогда файл catalog.php получит get параметр $_GET['value'], в котором будет содержаться все, что ввел пользователь в адресной строке после /catalog/....

A-Z - указывает на то, что после /catalog/... можно использовать строчные латинские буквы

a-z - указывает на то, что после /catalog/... можно использовать прописные латинские буквы

0-9 - указывает на то, что после /catalog/... можно использовать также цифры

\_ - указывает на то, что после /catalog/... можно использовать знак подчеркивание

Адрес: /catalog/Application_98 или /catalog/Application_98/ запустит на исполнение файл catalog.php и в скрипте будет доступен $_GET['value'] = "Application_98"

Вместо catalog.php используйте свой скрипт. Если за отрисовку главной страницы у Вас отвечает скрипт index.php, замените в выше представленном примере catalog.php на index.php

Если необходимо также распознавать раздел сайта, который запросил пользователь (в вашем случае разделом сайта является catalog), то .htaccess должен быть такой:

RewriteEngine On
RewriteBase /
RewriteRule ^/([A-Za-z0-9\_]+)$ index.php?section=$1
RewriteRule ^/([A-Za-z0-9\_]+)/$ index.php?section=$1
RewriteRule ^/([A-Za-z0-9\_]+)/([A-Za-z0-9\_]+)$ index.php?section=$1&value=$2
RewriteRule ^/([A-Za-z0-9\_]+)/([A-Za-z0-9\_]+)/$ index.php?section=$1&value=$2

Тогда при запросе /catalog/Application_98/ в файле index.php у Вас будут доступны два параметра $_GET['section'] = "catalog" и $_GET['value'] = "Application_98"

READ ALSO
NGINX+PHP-FPM вообще все запросы перенаправляются на index.php

NGINX+PHP-FPM вообще все запросы перенаправляются на index.php

Настроил NGINX+PHP-FPM, но любые запросы обрабатываются с помощью indexphp, например есть директория /a/, содержащая различные файлы, даже если в ней...

109
Как получить нужные данные из JSON?

Как получить нужные данные из JSON?

Пытаюсь получить данные из Json, но ничего не получается

120
Возвратить массив из функции

Возвратить массив из функции

Данная функция должна возвратить массив с папками БЕЗ использования глобальных переменныхПодскажите, пожалуйста, как это сделать?

178
Не добавляется телефон в amocrm

Не добавляется телефон в amocrm

ЗадачаСоздать контакт и добавить к нему телефон

196