Подтвердить что ты не робот

Как перенаправить только при точном совпадении ссылок?

Я пытаюсь перенаправить с apache.htaccess. У меня есть следующие коды

redirectMatch 301 /user http://clients.mydomain.com

он работает очень хорошо, но я не хочу, чтобы "/user/login" был направлен на "http://clients.mydomain.com/login" .

Как это предотвратить?

4b9b3361

Ответ 1

Просто добавьте ^ в начало и $ в конец

^ указывает, что регулярное выражение соответствует началу URL

$ говорит, что регулярное выражение соответствует концу URL-адреса

redirectMatch 301 ^/user$ http://clients.mydomain.com

Итак, теперь ваше правило будет соответствовать только /user, а не /some/user или /user/name или /some/user/name


ПРИМЕЧАНИЕ. Если вы хотите совместить /user/ и /user, используйте ^/user/?$

? говорит, чтобы соответствовать предыдущему символу/группе ноль до одного раза

Ответ 2

Используйте регулярное выражение, вы уже используете переадресацию.

http://httpd.apache.org/docs/2.0/mod/mod_alias.html#redirectmatch

'$' соответствует концу URL-адреса. В вашем примере:

redirectMatch 301 ^/user/(.+)$ http://clients.example.com/