Как через .htaccess сделать так, чтобы при заходе на:
site.com/site работал обработчик site.phpsite.com/test работал обработчик test.phpsite.com/category/{dynamic-category-name} работал обработчик category.php?Можете показать простейший пример?
Для первого правила простейшим сопоставлением будет выражение site/?, где /? обозначает необязательный слэш в конце строки. Чтобы написать сопоставление данного паттерна нужному вам обработчику, следует воспользоваться директивой RewriteRule.
Формат синтаксиса директивы, согласно документации, имеет следующий вид^
RewriteRule Pattern Substitution [flags]
где pattern это ваш шаблон для сопоставления url, substitution это замена, т.е. куда этот запрос перенаправляется. Далее указываются флаги.
Чаще всего, наверное, используются флаги L (остановить просмотр правил) и QSA (добавлять исходные параметры запроса).
отсюда следует, что простейшим примером для вашей первой URL будет
RewriteRule ^site/?$ site.php [L, QSA]
Очевидно, что для test, правило будет аналогичным. Также вы можете написать и общее правило для этих двух выражений, используя группы и обратные ссылки.
RewriteRule ^(site|test)/?$ $1.php [L,QSA]
Здесь в скобках обозначена группа захвата, внутри нее | обозначает или, а $1 в замене обозначает ссылку на эту группу (на первую группу). Групп может быть несколько.
Для реализации последней ссылки вам тоже понадобятся группы, но теперь в группу будет попадать название категории.
RewriteRule ^category/(.*) category.php?cat=$1 [L,QSA]
тут . обозначает любой символ, а * - ноль и более повторений.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости