Несколько параметров HTACCESS

У меня есть этот URL

https://www.example.com/detail.php?slug=ashutosh&event=c7da097d2c5a11e9821a01ec0a18050e&eventID=cb20a1fcb9bd8c3d8240d3ccb903c32637e044f10c6a2d09b&utm_source=t&utm_campaign=main&utm_medium=Test

мне нужен этот тип URL

https://www.example.com/user/ashutosh?event=c7da097d2c5a11e9821a01ec0a18050e&eventID=cb20a1fcb9bd8c3d8240d3ccb903c32637e044f10c6a2d09b&utm_source=t&utm_campaign=main&utm_medium=Test

Пожалуйста, помогите любому

Вы можете захватить значения из строки запроса, используя RewriteCond. См. Как я могу сопоставить переменные строки запроса с mod_rewrite?

showdev 09.02.2019 14:05

Вы можете сгенерировать код htaccess для этого?

user3747272 09.02.2019 14:16
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
2
19
1

Ответы 1

Поскольку вы не указали какое-либо условие когда для применения этого правила, я предполагаю, что оно должно применяться всегда, когда базовый URL-адрес начинается с /user/, за которым следует имя пользователя (слово) и ничего больше. И что имя пользователя должно быть указано как параметр `slug``, по крайней мере, это то, что предлагает ваш пример...

Это приведет к правилу перезаписи, подобному следующему:

RewriteEngine on
RewriteRule ^/?user/(\w+)/?$ /detail.php?slug=$1&%{QUERY_STRING} [END,QSA]

Это правило будет работать аналогичным образом в конфигурации хоста http-серверов или внутри файла динамической конфигурации (файл ".htaccess"). Очевидно, что модуль перезаписи должен быть загружен внутри http-сервера и включен на http-хосте. Если вы используете файл динамической конфигурации, вам нужно позаботиться о том, чтобы его интерпретация была включена в конфигурации хоста и чтобы он находился в папке DOCUMENT_ROOT хоста.

Если вы получаете внутреннюю ошибку сервера (состояние http 500) при использовании приведенного выше правила, то, скорее всего, вы используете очень старую версию http-сервера apache. В этом случае вы увидите определенный намек на неподдерживаемый флаг [END] в файле журнала ошибок вашего http-сервера. Вы можете либо попробовать обновиться, либо использовать более старый флаг [L], вероятно, в этой ситуации он будет работать так же, хотя это немного зависит от вашей настройки.

И общее замечание: вы всегда должны размещать такие правила в конфигурации хоста http-серверов, а не использовать файлы динамической конфигурации (.htaccess). Эти файлы динамической конфигурации добавляют сложности, часто являются причиной неожиданного поведения, их трудно отлаживать, и они действительно замедляют работу http-сервера. Они предоставляются только в качестве последнего варианта для ситуаций, когда у вас нет доступа к реальной конфигурации хоста http-серверов (читай: действительно дешевые поставщики услуг) или для приложений, настаивающих на написании своих собственных правил (что является очевидным кошмаром безопасности).

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