PHP « 1С-Битрикс. Редирект 301. Создание таблицы ссылок и сама функция для редиректа.
Дано:
CMS Битрикс крутится на "Битрикс Окружение". Т.е. фронт-энд - это NGINX, бэк-энд - это Apatch.
Необходимо сделать:
Редиректы со старых ссылок самописного сайта на новые ссылки ЧПУ в 1С-Битрикс.
Предположение:
Как я понимаю, самое простое решение - это создать редиректы сервером NGINX. Для этого необходимо создать таблицу с ссылками, которую будет просматривать сервер и совершать редирект 301, если ссылка совпала с той, что находится в файле.
Ссылки на новом сайте (Битрикс) имеют вид /** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .html4strict.geshi_code {font-family:monospace;} .html4strict.geshi_code .imp {font-weight: bold; color: red;} .html4strict.geshi_code .kw2 {color: #000000; font-weight: bold;} .html4strict.geshi_code .kw3 {color: #000066;} .html4strict.geshi_code .es0 {color: #000099; font-weight: bold;} .html4strict.geshi_code .br0 {color: #66cc66;} .html4strict.geshi_code .sy0 {color: #66cc66;} .html4strict.geshi_code .st0 {color: #ff0000;} .html4strict.geshi_code .nu0 {color: #cc66cc;} .html4strict.geshi_code .sc-1 {color: #808080; font-style: italic;} .html4strict.geshi_code .sc0 {color: #00bbdd;} .html4strict.geshi_code .sc1 {color: #ddbb00;} .html4strict.geshi_code .sc2 {color: #009900;} .html4strict.geshi_code span.xtra { display:block; }
/catalog/e_igrushechnyy_vertolet_griffin_gc30014/
, а старые ссылки имеют вид /**
* GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.html4strict.geshi_code {font-family:monospace;}
.html4strict.geshi_code .imp {font-weight: bold; color: red;}
.html4strict.geshi_code .kw2 {color: #000000; font-weight: bold;}
.html4strict.geshi_code .kw3 {color: #000066;}
.html4strict.geshi_code .es0 {color: #000099; font-weight: bold;}
.html4strict.geshi_code .br0 {color: #66cc66;}
.html4strict.geshi_code .sy0 {color: #66cc66;}
.html4strict.geshi_code .st0 {color: #ff0000;}
.html4strict.geshi_code .nu0 {color: #cc66cc;}
.html4strict.geshi_code .sc-1 {color: #808080; font-style: italic;}
.html4strict.geshi_code .sc0 {color: #00bbdd;}
.html4strict.geshi_code .sc1 {color: #ddbb00;}
.html4strict.geshi_code .sc2 {color: #009900;}
.html4strict.geshi_code span.xtra { display:block; }
/product/23452
,/**
* GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.html4strict.geshi_code {font-family:monospace;}
.html4strict.geshi_code .imp {font-weight: bold; color: red;}
.html4strict.geshi_code .kw2 {color: #000000; font-weight: bold;}
.html4strict.geshi_code .kw3 {color: #000066;}
.html4strict.geshi_code .es0 {color: #000099; font-weight: bold;}
.html4strict.geshi_code .br0 {color: #66cc66;}
.html4strict.geshi_code .sy0 {color: #66cc66;}
.html4strict.geshi_code .st0 {color: #ff0000;}
.html4strict.geshi_code .nu0 {color: #cc66cc;}
.html4strict.geshi_code .sc-1 {color: #808080; font-style: italic;}
.html4strict.geshi_code .sc0 {color: #00bbdd;}
.html4strict.geshi_code .sc1 {color: #ddbb00;}
.html4strict.geshi_code .sc2 {color: #009900;}
.html4strict.geshi_code span.xtra { display:block; }
/special/23452
Т.е. одной ссылке в Битрикс соответвуют несколько шаблонных ссылок со старого сайта (движка). Число в старой ссыке соответсвует Старому артикулу товара (элемента) в Битрикс (см. приложение 1).
Как замкнуть старые ссылки на новую с редиректом 301 (см приложение 2). Как создать данный файл для редиректов и какого он должен быть формата?
Я понимаю программирование, но сам мало что умею, поэтому помощь нужна в качестве инструкций.
Заранее большое спасибо!
CMS Битрикс крутится на "Битрикс Окружение". Т.е. фронт-энд - это NGINX, бэк-энд - это Apatch.
Необходимо сделать:
Редиректы со старых ссылок самописного сайта на новые ссылки ЧПУ в 1С-Битрикс.
Предположение:
Как я понимаю, самое простое решение - это создать редиректы сервером NGINX. Для этого необходимо создать таблицу с ссылками, которую будет просматривать сервер и совершать редирект 301, если ссылка совпала с той, что находится в файле.
Ссылки на новом сайте (Битрикс) имеют вид /** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .html4strict.geshi_code {font-family:monospace;} .html4strict.geshi_code .imp {font-weight: bold; color: red;} .html4strict.geshi_code .kw2 {color: #000000; font-weight: bold;} .html4strict.geshi_code .kw3 {color: #000066;} .html4strict.geshi_code .es0 {color: #000099; font-weight: bold;} .html4strict.geshi_code .br0 {color: #66cc66;} .html4strict.geshi_code .sy0 {color: #66cc66;} .html4strict.geshi_code .st0 {color: #ff0000;} .html4strict.geshi_code .nu0 {color: #cc66cc;} .html4strict.geshi_code .sc-1 {color: #808080; font-style: italic;} .html4strict.geshi_code .sc0 {color: #00bbdd;} .html4strict.geshi_code .sc1 {color: #ddbb00;} .html4strict.geshi_code .sc2 {color: #009900;} .html4strict.geshi_code span.xtra { display:block; }
/catalog/e_igrushechnyy_vertolet_griffin_gc30014/
/product/23452
/special/23452
Как замкнуть старые ссылки на новую с редиректом 301 (см приложение 2). Как создать данный файл для редиректов и какого он должен быть формата?
Я понимаю программирование, но сам мало что умею, поэтому помощь нужна в качестве инструкций.
Заранее большое спасибо!
1 ответов
Не вдаваясь в логику приложения, скажу, что редиректы в нжинсе при помощи модуля rewrite, простой пример 301 редиректа:
rewrite ^/some/old/url$ /some/new/url permanent;
Чтобы не забивать огроменной простыней основной файл виртального хоста, можно воспользоваться директивой include и разместить все правила редиректов в отдельном файле.
Чтобы не забивать огроменной простыней основной файл виртального хоста, можно воспользоваться директивой include и разместить все правила редиректов в отдельном файле.
pojaluysta napishite podrobno,chto gde nado napisat,pervi ras delayu redirect 301 i ne znayu kak eto delat,pomogite pojaluysta.
Spasibo.