Передать более одного параметра через htaccess

Передать более одного параметра через htaccess

У меня есть система, в которой у каждого пользователя будет поддомен и собственная база данных. Пример:

usuarioa.system.com
usuariob.system.com

Чтобы сохранить подкаталог на панели навигации при навигации по системе, я использовал следующее правило:

RewriteEngine on
RewriteCond% {HTTP_HOST} ^ usera.system.com $ [OR]
RewriteCond% {HTTP_HOST} ^ www.usera.system.com $
RewriteRule ^ (. *) $ http://www.system.com/access/$ 1? user = usera [P]

Работает отлично, потому что через PHP с помощью $_REQUEST, прямое подключение к нужной базе данных. Проблема в том, что это правило не принимает более одного параметра и любые изменения, которые я делаю, выдают ошибку 403. Поэтому я создал временное решение в PHP, но я не хочу продолжать с ней:

list ($queryString, $id) = explode ("user =", $ _SERVER [' REQUEST_URI ']);
list ($id, $idUsu) = explode (".", $id);

Как мне передать 02 параметра напрямую через htaccess, сохранив подкаталог на панели навигации?

Извините за мой английский, я использую переводчик Bing.

решение1

RewriteRule ^ (. *) $ http://www.system.com/access/$ 1? user = usera [P]

Если вы имеете в виду передачу дополнительных параметров строки запроса, которые были в исходном запросе, взамена, то вам нужен QSAфлаг (Query String Append) в RewriteRuleдирективе.

ФлагQSAсливаетсястроку запроса из запроса со строкой запроса, которую вы указали назамена, в противном случае указанная вами строка запроса перезапишет строку запроса в запросе, и он не будет передан.

Например:

RewriteRule (.*) http://www.system.com/access/$1?user=usera [QSA,P]

В стороне:Этот...

RewriteCond% {HTTP_HOST} ^usera.system.com$ [OR]
RewriteCond% {HTTP_HOST} ^www.usera.system.com$

То же самое, что и следующее, и также допускает полное доменное имя (заканчивающееся точкой):

RewriteCond% {HTTP_HOST} ^(www\.)?usera\.system\.com [NC]

Не забудьте экранировать точки, чтобы сопоставить их с буквальными точками, в противном случае вы сопоставляетелюбойсимвол. NCФлаг просто отлавливает неправильно сформированные запросы.

Связанный контент