Редирект — различия между версиями
XiBOR (обсуждение | вклад) |
Alelekov (обсуждение | вклад) |
||
(не показано 8 промежуточных версий 5 участников) | |||
Строка 1: | Строка 1: | ||
− | + | '''Актуально для версии 20.''' | |
− | + | ||
− | + | В последних версиях системы для создания редиректов существует специальный модуль “Редиректы”, с помощью которого можно за несколько простых шагов создать необходимое вам перенаправление.<br/> | |
− | + | Подробнее о работе с этим модулем вы можете почитать в нашей [http://help.docs.umi-cms.ru/rabota_s_modulyami/module_redirects/ документации]. | |
− | |||
− | |||
− | |||
Помимо этого в системе есть предназначенный для той же цели макрос %content redirect('http://www.umi-cms.ru')%. Его можно использовать в шаблонах или непосредственно в контенте определенной страницы.<br /> | Помимо этого в системе есть предназначенный для той же цели макрос %content redirect('http://www.umi-cms.ru')%. Его можно использовать в шаблонах или непосредственно в контенте определенной страницы.<br /> | ||
− | + | На этом изобилие способов ещё не кончается. Также мы можем использовать JavaScript или файл дополнительной настройки сервера .htaccess.<br /> | |
− | + | В первом способе, скрипт для перенаправления может быть записан как минимум четырьмя способами:<br /> | |
− | |||
− | |||
− | |||
− | На этом изобилие способов ещё не кончается. | ||
− | В первом, скрипт для перенаправления может быть | ||
<source lang="javascript"> | <source lang="javascript"> | ||
#1: | #1: | ||
Строка 35: | Строка 27: | ||
</source> | </source> | ||
− | + | Есть множество способов реализации второго способа, самые простые из них:<br/> | |
<source lang="apache"> | <source lang="apache"> | ||
#1: RewriteRule / shop [R=301] | #1: RewriteRule / shop [R=301] | ||
Строка 41: | Строка 33: | ||
#3: RedirectPermanent ^shop$ ^catalog$ | #3: RedirectPermanent ^shop$ ^catalog$ | ||
</source> | </source> | ||
− | Разделителем здесь является пробел, принцип старый | + | Разделителем здесь является пробел, принцип старый: первое значение — откуда, второе — куда. |
+ | |||
+ | Если нужно добавить перенаправление, чтобы убирался слэш на конце адреса страницы, то для решения задачи нужно вставить такой код в файл /.htaccess в корне сайта после строчки "RewriteEngine On": | ||
+ | <source lang="apache"> | ||
+ | RewriteCond %{REQUEST_FILENAME} !-d | ||
+ | RewriteCond %{REQUEST_URI} !^/admin/.* | ||
+ | RewriteRule ^(.*)/$ /$1 [L,R=301] | ||
+ | </source> | ||
+ | и выключить опцию url-suffix.add в файле config.ini. | ||
+ | Все страницы, кроме админки, будут перенаправляться на адрес без слэша. Админка с перенаправлением не будет работать. | ||
+ | |||
+ | |||
+ | |||
+ | [[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]][[category:Модуль Редиректы]] |
Текущая версия на 14:12, 22 марта 2019
Актуально для версии 20.
В последних версиях системы для создания редиректов существует специальный модуль “Редиректы”, с помощью которого можно за несколько простых шагов создать необходимое вам перенаправление.
Подробнее о работе с этим модулем вы можете почитать в нашей документации.
Помимо этого в системе есть предназначенный для той же цели макрос %content redirect('http://www.umi-cms.ru')%. Его можно использовать в шаблонах или непосредственно в контенте определенной страницы.
На этом изобилие способов ещё не кончается. Также мы можем использовать JavaScript или файл дополнительной настройки сервера .htaccess.
В первом способе, скрипт для перенаправления может быть записан как минимум четырьмя способами:
#1:
<script type="text/javascript">
location="http://www.newdomain.com";
</script>
#2:
<script type="text/javascript">
document.location.href="http://www.newdomain.com";
</script>
#3:
<script type="text/javascript">
window.location.reload("http://www.newdomain.com");
</script>
#4:
<script type="text/javascript">
document.location.replace("http://www.newdomain.com");
</script>
Есть множество способов реализации второго способа, самые простые из них:
#1: RewriteRule / shop [R=301]
#2: Redirect 301 ^index.html$ /
#3: RedirectPermanent ^shop$ ^catalog$
Разделителем здесь является пробел, принцип старый: первое значение — откуда, второе — куда.
Если нужно добавить перенаправление, чтобы убирался слэш на конце адреса страницы, то для решения задачи нужно вставить такой код в файл /.htaccess в корне сайта после строчки "RewriteEngine On":
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/admin/.*
RewriteRule ^(.*)/$ /$1 [L,R=301]
и выключить опцию url-suffix.add в файле config.ini. Все страницы, кроме админки, будут перенаправляться на адрес без слэша. Админка с перенаправлением не будет работать.