Переадресация нескольких доменов 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, я использую
<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>
Документация