Смоделируйте CGI.HTTP_REFERER, используя Coldfusion - PullRequest
1 голос
/ 12 января 2011

Я пытаюсь написать некоторый оптимизированный для поисковых систем код для проекта Coldfusion, и одна вещь, которую я пытаюсь достичь, - это изменение нескольких переменных страницы, когда на страницу ссылаются разные поисковые системы.

Кто-нибудь знает, есть ли какой-нибудь способ или даже можно ли смоделировать CGI.HTTP_REFERER в Google, Bing, Yahoo и т. Д. ??

Ответы [ 4 ]

2 голосов
/ 13 января 2011

Для рефакторинга вашего метода вместо прямого использования области CGI используйте аргумент, например:

<cfargument name="cgiScope" type="struct" default="#CGI#" require="false">

Готово:)

0 голосов
/ 16 января 2011

Я бы сделал функцию getHttpReferer, которая обычно возвращает CGI.HTTP_REFERER, однако при модульном тестировании вы можете макетировать эту функцию, чтобы она возвращала все, что вы хотите.

0 голосов
/ 12 января 2011

Значение области CGI велико отчасти определяется тем, что отправлено в заголовках запроса. В частности, рефери легко подделан. Смотрите следующее:

  1. Бен Надель объясняет, как с CFHTTP и CFHTTPPARAM подделать реферера .
  2. Плагин Firefox Modify Headers (мой комментарий указывает на это ответ).
0 голосов
/ 12 января 2011

Не одобряется показ различного контента для роботов поисковых систем. В любом случае, невозможно изменить CGI.HTTP_REFERER с Coldfusion. Лучше всего отредактировать файл "hosts" и добавить запись, указывающую google.com на IP-адрес вашего сервера (например, 127.0.0.1), и настроить страницу со ссылкой на ваш сайт, чтобы подделать запрос как поступающий. от Google / Bing / Yahoo.

...