Bitrix редирект без слеша на со слешем: Редирект в htaccess на URL без слеша в конце (Битрикс)? — Хабр Q&A

(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]

Также вас возможно заинтересует как убрать или добавить www

Загрузка

4131 просмотр

30.09.2015

Теги: seo apache


Комментариев пока нет

Оставить комментарий


Статьи


  • 1С-Битрикс (17)
  • Apache (2)
  • CSS (1)
  • HTML (1)
  • Java (2)
  • JavaScript (1)
  • JQuery (2)
  • MS-DOS (2)
  • PHP (5)
  • SEO (5)
  • Windows (1)
  • Безопасность (2)
  • Браузер (2)
  • Заработок / Работа (2)
  • Новые технологии (2)
  • Операторы связи (6)
  • Платежные системы (1)
  • Программы (2)
  • Фриланс (3)

Сервисы


Найти среднюю оценку

Прибавить или вычесть процент


Калькулятор процентов

Калькулятор соотношения сторон пропорции ширины и высоты

Калькулятор стоимости кафеля (плитки)

Калькулятор стоимости длины

Калькулятор цен по весу

Калькулятор сравнения (разницы) цен

Калькулятор стоимости товара

Тетрис на Двоих

Проверка домена (whois)




Последние публикации


24. окт.2021 Битрикс Работа с сокетами Ошибка! Не работает
В проверке сайте можно наблюдать такую ошибку
Работа …

17.июл.2021 Как передать Roistat в заказ 1С-Битрикс
Передать ID Roistat можно в сам заказ в Битриксе после его о…

21.июн.2021

Сбой на файле, ошибка распаковки пакета
При очередном обновлении 1С-Битрикс выскочила ошибка [UUGZA0…

03.июн.2020 Не выводиться заглушка в композитном кеше
Столкнулся с тем, что при указании заглушки в динамической о…

01.апр.2020 Установка SSL сертификата LetsEncrypt на BitrixVM
Установка SSL сертификата LetsEncrypt на виртуальную машину …

07.мар.2020 Битрикс настройка SSL, ошибка работы с сокетами
Заходим в меню битрикса выбираем 8. Manage pool web servers …

14.ноя.2019 Не выгружаются заказы в 1С
Не выгружаться заказы в 1С из сайта на битрисе могут по разн.

начало строки (когда используется в начале выражения)

$

означает конец строки

\w

цифра, буква или подчеркивание _

\d

заменяет любую цифру

\D

может заменить любой знак, кроме цифры

[0-9]

для замены любой цифры

[a-z]

для всех букв от a до z в нижнем регистре

[A-Z]

для каждой буквы от A до Z в верхнем регистре

[a-zA-Z]

любая буква от a до Z во всех регистрах

[a-Z]

аналогично

 

Важно учитывать, что настройка редиректа путем редактирования файла . htaccess  доступна исключительно для веб-серверов Apache.

Удаление косой черты из URL-адреса с помощью nginx

Я хочу, чтобы следующие URL-адреса на моем сайте были эквивалентны:

 /foo/bar
/foo/бар/
/foo/bar/index.html
 

и далее Я бы хотел, чтобы вторые две формы выдавали переадресацию HTTP 301 на первую форму. Я просто раздаю статические страницы, и они устроены по третьей форме. (Другими словами, когда пользователь запрашивает /foo/bar , он должен получить файл по адресу /usr/share/.../foo/bar/index.html 9.(.+)/$ 1 постоянный; индекс index.html; try_files $uri $uri/index.html =404;

Это работает для запросов на /foo/bar/index.html , но когда я запрашиваю /foo/bar или /foo/bar/ , Safari сообщает мне, что «произошло слишком много перенаправлений». бесконечный цикл перенаправления или что-то в этом роде. Как я могу заставить nginx сопоставлять URL-адреса с файлами так, как я описал?

Редактировать: Моя полная конфигурация

Вот мой полный nginx. conf с моим доменным именем, замененным на «example.com».

 www-данные пользователя;
рабочие_процессы 1;
pid /run/nginx.pid;
события {
  worker_connections 768;
}
http {
  отправить файл включен;
  tcp_nopush включен;
  tcp_nodelay включен;
  keepalive_timeout 65;
  типы_хэш_макс_размер 2048;
  server_tokens отключены;
  server_names_hash_bucket_size 64;
  включить /etc/nginx/mime.types;
  default_type application/octet-stream;
  журнал_доступа /var/log/nginx/access.log;
  журнал_ошибок /var/log/nginx/error.log;
  gzip включен;
  gzip_disable "msie6";
  gzip_vary включен;
  gzip_proxy любой;
  gzip_comp_level 6;
  gzip_buffers 16 8k;
  gzip_http_версия 1.1;
  gzip_types text/простой текст/приложение css/приложение json/x-javascript text/xml application/xml application/xml+rss application/atom+xml text/javascript image/svg+xml;
  сервер {
    имя_сервера www.example.com;
    слушать 80;
    вернуть 301 $scheme://example.com$request_uri;
  }
  сервер {
    имя_сервера example.
com 123.45.67.89/(.*)/$ /$1 постоянный;

будет перенаправлять все URL-адреса с завершающей косой чертой на соответствующий не завершающий косую черту.

3

Никогда не использовать перезапись:

 location ~ (?.*)/$ {
       вернуть 301 $схема://$host$no_slash;
  }
 

6

Я смог получить желаемое поведение, используя это как последний блок сервера в моей конфигурации: 9(.+)/$ { вернуть 301 $схема://$хост$1; }

Используется для размещения сайтов из поколения статических сайтов Next.js (v9 и v10), где host/url работает, а host/url/ запускает Nginx 404.

 if ($request_uri ~ (.*?\/) (\/+)$) {
вернуть 301 $схема://$хост$1;
}
 

Это правило позаботится о любом количестве косых черт в конце и сохранит URL-адрес. Он также позаботится о завершающих косых чертах базового URL-адреса

 #удаление завершающих косых черт в конце URL-адреса
если ($request_uri ~ (. *?)(\/+)$ ) {
    вернуть 301 $схема://$хост$1;
}
 

Это правило удалит (перенаправит на URL-адрес без косой черты) любое количество косых черт в конце URL-адреса.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *