Переадресация нескольких доменов ColdFusion

У меня есть много доменов (www.vf1.com, www.vf2.com, www.vf3.com и т. Д.), Которые все указывают на мой основной домен (www.vf.com). Как мне сделать перенаправление 301 с этих других доменов на мой основной домен?

Поэтому, если кто-то нажимает на www.vf1.com/news/1234, он должен быть перенаправлен на www.vf.com/news/1234.

У меня также есть такие домены, как images.vf.com, css.vf.com и js.vf.com, которые мне не нужно перенаправлять

Я использую ColdFusion 8 на IIS (но в настоящее время у меня нет доступа к IIS)

Я попробовал приведенный ниже URL-адрес, такой как http://www.festivalreviews.co.uk/latest/news/14500 но он перенаправляется на http://www.virtualfestivals.com/index.cfm

<cfif cgi.http_host IS 'www.festivalreviews.co.uk'>
    <cfset jjURL = 'http://www.virtualfestivals.com' & CGI.PATH_INFO>
    <cfheader statuscode="301" statustext="Moved Permanently">
    <cfheader name="Location" value="#jjURL#">
</cfif>

Спасибо

2 ответа

Я согласен с Адамом, если это возможно, это, вероятно, будет лучше обрабатываться с помощью вашего веб-сервера. Сказав это, я должен был делать подобные вещи в прошлом с ColdFusion. Когда мне нужно перестроить URL, я обычно использую переменные CGI, отличные от того, что вы пробовали. Посмотрите, работает ли это для вас.

<cfif CGI.SERVER_NAME IS 'www.festivalreviews.co.uk'>
    <cfset jjURL = 'http://www.virtualfestivals.com' & CGI.SCRIPT_NAME>
    <cfif CGI.QUERY_STRING NEQ ''>
        <cfset jjURL = jjURL & '?' & CGI.QUERY_STRING>
    </cfif>
    <cfheader statuscode="301" statustext="Moved Permanently">
    <cfheader name="Location" value="#jjURL#">
</cfif>

CGI.SERVER_NAME - Имя хоста сервера, псевдоним DNS или IP-адрес
CGI.SCRIPT_NAME - Виртуальный путь к скрипту, который выполняется
CGI.QUERY_STRING - Запрос информации, которая следует за? в URL, который ссылался на этот скрипт

Вы можете прочитать больше о переменных CGI в документации здесь.

Начиная с ColdFusion 8, я использую (потому что CF8 добавил атрибут statusCode) для такого рода перенаправлений.

<cfif CGI.SERVER_NAME EQ 'www.festivalreviews.co.uk'>
    <cfset jjURL = 'http://www.virtualfestivals.com' & CGI.SCRIPT_NAME>
    <cfif CGI.QUERY_STRING NEQ ''>
        <cfset jjURL = jjURL & '?' & CGI.QUERY_STRING>
    </cfif>
    <cflocation url="#jjURL#" addtoken="no" statuscode="301">
</cfif>

Документация: https://wikidocs.adobe.com/wiki/display/coldfusionen/cflocation

Другие вопросы по тегам