Всем привет!
Есть сайт на PHP с каталогом товаров.
Хочу сделать чтобы карточка товара открывалась по адресу mysite.ru/product/Item1
Есть каталог /product/, в нем файлик index.php - который должен получить название товара (Item1) и по этому названию вывести соответствующую карточку товара.
Вопрос: как сделать чтобы при переходе по этому адресу выводилась не сообщение об отсутствующей странице, а запускался index.php? И как в нем получить название товара (Item1)?
Предполагаю что необходимо сделать редиректы в .htaccess, но как потом получить Item1 ?
UPD: Можно ли сделать в htaccess редирект на index.php который лежит не в корне, а уровнем выше? Т.е. из примера выше в mysite.ru/product/index.php
Если использовать вариант, что редирект идет на 1 конкретный файл, а этот файл уже будет include'ить другие скрипты в зависимости от строки запроса - насколько это правильно и красиво? И какие могут возникнуть сложности?
Рекомендую посмотреть любой современный фреймворк - Laravel / (прости, Господи) Yii2 / Slim / (бери любой). И посмотреть, как там сделана точка входа.
Коротко - используется паттерн FrontController. Создается директория public, в которую обращается сервер. Далее, в зависимости от используемого тобой сервера соответствующие команды прописываются для сервера.
Просто возьмите .htaccess для любого фреймворка. Если по указанному пути файл не найден, то запрос будет отправлен на index.php. Запрашиваемый адрес в итоге не изменится и Item1 сможете извлечь без проблем.