Редирект — различия между версиями
Alexei (обсуждение | вклад) |
Alelekov (обсуждение | вклад) |
||
Строка 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 /> | На этом изобилие способов ещё не кончается. Так же мы можем использовать JavaScript или файл дополнительной настройки сервера .htaccess.<br /> | ||
− | В первом, скрипт для перенаправления может быть записан как минимум четырьмя способами:<br /> | + | В первом способе, скрипт для перенаправления может быть записан как минимум четырьмя способами:<br /> |
<source lang="javascript"> | <source lang="javascript"> | ||
#1: | #1: | ||
Строка 37: | Строка 27: | ||
</source> | </source> | ||
− | + | Есть множество способов реализации второго способа, самые простые из них:<br/> | |
<source lang="apache"> | <source lang="apache"> | ||
#1: RewriteRule / shop [R=301] | #1: RewriteRule / shop [R=301] | ||
Строка 44: | Строка 34: | ||
</source> | </source> | ||
Разделителем здесь является пробел, принцип старый: первое значение - откуда, второе - куда. | Разделителем здесь является пробел, принцип старый: первое значение - откуда, второе - куда. | ||
− | |||
Если нужно добавить перенаправление, чтобы убирался слэш на конце адреса страницы, то для решения задачи нужно вставить такой код в файл /.htaccess в корне сайта после строчки "RewriteEngine On": | Если нужно добавить перенаправление, чтобы убирался слэш на конце адреса страницы, то для решения задачи нужно вставить такой код в файл /.htaccess в корне сайта после строчки "RewriteEngine On": | ||
Строка 53: | Строка 42: | ||
</source> | </source> | ||
и выключить опцию url-suffix.add в файле config.ini. | и выключить опцию url-suffix.add в файле config.ini. | ||
− | Все страницы, кроме админки, будут | + | Все страницы, кроме админки, будут перенаправляться на адрес без слэша. Админка с перенаправлением не будет работать. |
+ | |||
[[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]] | [[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]] |
Версия 12:42, 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. Все страницы, кроме админки, будут перенаправляться на адрес без слэша. Админка с перенаправлением не будет работать.