Допустим, есть ссылка: «www.example.com/catalog/value/» И нужно, чтобы перейдя по ней пользователь увидел содержимое главной страницы ( www.example.com ), но при этом туда же было бы передано значение «value» (например, чтобы просто отобразить на экране). Подскажите, как правильно такое осуществить?
Пример файла .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"
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Настроил NGINX+PHP-FPM, но любые запросы обрабатываются с помощью indexphp, например есть директория /a/, содержащая различные файлы, даже если в ней...
Данная функция должна возвратить массив с папками БЕЗ использования глобальных переменныхПодскажите, пожалуйста, как это сделать?