Правило перезаписи для пользовательского агента с mod_rewrite - PullRequest
7 голосов
/ 07 января 2011

Я пытаюсь перенаправить все запросы в домен от конкретного агента пользователя на поддомен.Мое правило таково:

RewriteEngine  on
RewriteCond %{HTTP_USER_AGENT}  ^Test Agent/(.*)$ // <-- Line 4
RewriteRule ^(.*)$         https://test.domain.com/$1          [L,302]

Но все, что я получаю при запуске веб-сервера:

Syntax error on line 4 of /var/www/misafe/internal/misafe-old.conf:
RewriteCond: bad flag delimiters

Мне кажется, все в порядке, но я явно что-то упускаю и ошибкане очень помогаетЕсть идеи?

Спасибо, J

Ответы [ 2 ]

18 голосов
/ 07 января 2011

Есть 2 ошибки:

Во-первых:

RewriteCond %{HTTP_USER_AGENT}  ^Test Agent/(.*)$

Вам нужно выйти из пробела и косой черты в шаблоне регулярного выражения.

RewriteCond %{HTTP_USER_AGENT}  ^Test\ Agent\/(.*)$

Второе:

RewriteRule ^(.*)$         https://test.domain.com/$1          [L,302]

302 - это код состояния HTTP перенаправления, но вы не указали, что перенаправляете.

RewriteRule ^(.*)$         https://test.domain.com/$1          [L,R=302]
1 голос
/ 07 января 2011

строка: RewriteRule ^(.*)$ <a href="https://test.domain.com/" rel="nofollow">https://test.domain.com/</a>$1 [L,302]

должно быть: RewriteRule ^(.*)$ <a href="https://test.domain.com/" rel="nofollow">https://test.domain.com/</a>$1 [R=302]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...