Также вас возможно заинтересует как убрать или добавить 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 на первую форму. Я просто раздаю статические страницы, и они устроены по третьей форме. (Другими словами, когда пользователь запрашивает Это работает для запросов на Вот мой полный будет перенаправлять все URL-адреса с завершающей косой чертой на соответствующий не завершающий косую черту. 3 Никогда не использовать перезапись: 6 Я смог получить желаемое поведение, используя это как последний блок Используется для размещения сайтов из поколения статических сайтов Next.js (v9 и v10), где Это правило позаботится о любом количестве косых черт в конце и сохранит URL-адрес. Он также позаботится о завершающих косых чертах базового URL-адреса Это правило удалит (перенаправит на URL-адрес без косой черты) любое количество косых черт в конце URL-адреса. Новый участник Сид - новый участник этого сайта. Будьте осторожны, запрашивая разъяснения, комментируя и отвечая.
Ознакомьтесь с нашим Кодексом поведения. Зарегистрироваться через Google Зарегистрироваться через Facebook Зарегистрируйтесь, используя электронную почту и пароль Электронная почта Требуется, но никогда не отображается /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.
с моим доменным именем, замененным на «example.com». conf
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 постоянный;
location ~ (?
сервера
в моей конфигурации: 9(.+)/$ {
вернуть 301 $схема://$хост$1;
} host/url
работает, а host/url/
запускает Nginx 404. if ($request_uri ~ (.*?\/) (\/+)$) {
вернуть 301 $схема://$хост$1;
}
#удаление завершающих косых черт в конце URL-адреса
если ($request_uri ~ (.
*?)(\/+)$ ) {
вернуть 301 $схема://$хост$1;
}
Зарегистрируйтесь или войдите
Опубликовать как гость
Опубликовать как гость
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie
.
лак — Предотвратить смену порта при перенаправлении в nginx
В настоящее время у меня настроен nginx для обслуживания контента через Varnish. Nginx прослушивает порт 8000, а лак соединяет запросы пользователей с 80 по 8000.
Проблема в некоторых случаях, особенно при попытке попасть в каталог, например site.com/2010
, nginx перенаправляет запрос на site.com:8000/2010/
Как предотвратить это?
- nginx
- лак
- порт
- перенаправление
1
В моем случае nginx прослушивает порт 80
внутри док-контейнера, но он сопоставлен с портом 8080
(или любым случайным портом) вне контейнера. Между ними нет обратного прокси-сервера, который может добавлять правильные заголовки для порта, а также не хочет жестко кодировать его в конфигурации nginx.
Пример неправильного перенаправления:
http://localhost:8080/directory -> http://localhost/directory/
Я пробовал:
server { # ... port_in_redirect выключен; server_name_in_redirect выключен; # ... }
Но не сработало. Единственное, что работало хорошо, это:
сервер { # ... абсолютная_переадресация выключена; # ... }
Ввод вручную для absolute_redirect
говорит:
Если отключено, перенаправления, выдаваемые nginx, будут относительными.
Я нахожу это более гибким и не требует, чтобы имя сервера и порт были жестко закодированы в любом месте.
Если вас беспокоят перенаправления с относительными URL-адресами, проверьте этот комментарий.
2
Я нашел ответ на этот вопрос, более внимательно прочитав документацию HttpCoreModule.
port_in_redirect выключен;
Сохраняет порт, используемый клиентом во время перенаправления. Близкие родственники
server_name_in_redirect
, который использует первое имя хоста для перенаправления. Поскольку я не хотел, чтобы sitename.v.myserver.com перенаправлял на sitename.com,
Код NGINX, вероятно, использует переменную FASTCGI SERVER_PORT, чтобы определить, куда направить пользователя. SERVER_PORT будет содержать порт, который прослушивает nginx, так что в вашем случае это будет 8000.
Вы можете попробовать что-то вроде этого для тестирования:
location ~ \.php$ { [...] fastcgi_param SERVER_PORT 80; }
адаптирован к вашей конфигурации. Это грязный хак, но он может помочь вам диагностировать проблему.
Для тех у кого
- Varnish слушает порт 80 Внутренний сервер
- (в моем случае nginx) прослушивает порт 8080
Параметр fastcgi_param SERVER_PORT должен совпадать с внешним интерфейсом.
Итак, я установил
fastcgi_param SERVER_PORT 80;
для перенаправления на соответствующий URL-адрес из nginx.