Перезапись URL-адреса .htaccess со случайными параметрами

В настоящее время я пишу приложение PHP и собираюсь создать различные контроллеры. В настоящее время у меня есть один контроллер с определенным методом, поэтому URL-адрес выглядит так:

http://somewebsite.com/index.php?c=controller&a=action

Его переписывают на это:

http://somewebsite.com/controller/action

С помощью этого файла .htaccess:

RewriteEngine On
RewriteRule ^([a-z]+)/([a-z]+)$ index.php?c=$1&a=$2 [NC]

Чего я хочу достичь, так это возможности перезаписать URL-адрес более чем одним контроллером (чем больше, тем лучше), возможно, в случайном порядке. Есть ли более удобный способ, чем переписывать все возможные комбинации параметров URL?

Думаю, вам стоит привести несколько примеров.

revo 09.04.2018 21:14
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
207
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Многие фреймворки (Codeigniter, WordPress, Laravel и т. д.) Используют файл .htaccess, подобный следующему:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

Это перезаписывает все входящие URL-адреса, которые будут обрабатываться файлом index.php. Затем вы можете использовать переменную $_SERVER['REQUEST_URI'], чтобы получить точный URI запроса, проанализировать его, а затем обработать его так, как вы хотите.

если вы собираетесь использовать произвольную схему маршрутизации, вероятно, лучше всего просто передать всю строку URL-адреса, например. ^ (. +) $ в index.php и пусть ваше приложение php разбивает строку на основе '/' и обрабатывает массив, однако имеет смысл для вашего приложения

Другие вопросы по теме