Настройка реферера / заголовка на редирект в Apache - PullRequest
0 голосов
/ 15 марта 2011

У меня есть сайт с коротким URL-адресом с записью A, указывающей на основной сайт (изменить это очень сложно, поэтому я бы предпочел этого не делать). У меня есть особая логика, которая должна запускаться при обращении к приложению с короткого URL.

Прямо сейчас у меня есть Apache, настроенный с RewriteRule, чтобы делать 301 на главном сайте, когда вы нажимаете короткий URL, но если я пытаюсь получить доступ к рефереру или любым другим заголовкам, они, похоже, пропали. Я могу обойти это, добавив параметр запроса, но я бы тоже не стал запутывать URL. Любые идеи о том, как установить часть данных в Apache, к которой я могу получить доступ в своем приложении Rails, чтобы определить, был ли запрос результатом доступа к короткому URL-адресу?

Ответы [ 2 ]

0 голосов
/ 15 марта 2011

По причинам, связанным с производительностью, я бы предпочел, чтобы Apache выполнял перенаправление, поэтому ему не нужно заходить в стойку (иначе тратить больше времени) Таким образом, я бы установил cookie на RewriteRule и уничтожил бы cookie, как только вы обнаружите перенаправление.

0 голосов
/ 15 марта 2011

Поскольку реферер полностью на стороне клиента, у вас есть только две опции (кроме строки запроса):

  1. Разрешить Rails обрабатывать перенаправление вместо вас вместо Apache,и сохраните некоторую информацию в сеансе пользователя.

  2. Используйте параметр cookie RewriteRule.RewriteRule имеет опцию cookie / CO, которая позволяет отправлять Set-Cookie в браузер вместе с ответом на перенаправление.Формат опции: cookie|CO=NAME:VAL:domain[:lifetime[:path]].Подробнее см. Документацию RewriteRule .

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