Как на самом деле работает mod_rewrite. пособие для продолжающих

Файл поврежден

Если при попытке открыть файл выскакивает сообщение о том, что он поврежден, надо попросить отправителя проверить, как вложение работает на его компьютере, пересохранить и отправить еще раз.

Есть вероятность, что файл некорректно сохранился или был поврежден до того, как его прикрепили к письму.

Важно: проверить вложения на вирусы

Надеюсь, что после прочтения этого материала Вы разобрались, почему вложение в письме не открывается. Но прежде чем Вы вернетесь к работе, мы хотим кое-что напомнить.

Электронную почту часто используют злоумышленники. Их целью могут быть как домашние, так и корпоративные компьютеры. Поэтому:

  • открывайте файлы только от доверенных отправителей;
  • если вам прислали исполняемый файл .exe или .com, нужно самостоятельно проверить его или попросить IT-специалистов в вашей компании об этом, прежде чем скачивать и, тем более, запускать.

Для самостоятельной проверки есть различные онлайн-сервисы, в том числе,

  1. у Касперского и
  2. у доктора Веба.

1 Kaspersky VirusDesk для онлайн-проверки на вирусы:

2 Онлайн-сканер файлов Dr.Web, чтобы бесплатно проверить подозрительные файлы на наличие вредоносных программ:

Вы отправляете свои файлы через браузер, они загружаются на наш сервер, их проверяет Dr.Web актуальной версии с самой свежей вирусной базой, и вы получаете результат проверки.

Проверить ссылку или сайт с помощью доктор Веб:

Дополнительные материалы:

1. Бесплатные почтовые сервисы, какие бывают и зачем они нужны

3. Что такое предпросмотр в электронной почте: Гугл, Майл ру, Яндекс

Распечатать статью

Получайте актуальные статьи по компьютерной грамотности прямо на ваш почтовый ящик. Уже более 3.000 подписчиков

.

Важно: необходимо подтвердить свою подписку! В своей почте откройте письмо для активации и кликните по указанной там ссылке. Если письма нет, проверьте папку Спам

Есть ли какой-нибудь аналог .htaccess в nginx?

Ещё один довольно частый вопрос. В этом веб-сервера такой возможности нет. Однако, подобное обычно и не требуется. Дело в том, что nginx, как правило, устанавливается в качестве фронденда, т. е. принимает и обрабатывает все запросы, которые либо выполняет сам, либо перенаправляет на бэкенд, роль которого может выполнять Apache, который можно дополнительно конфигурировать с помощью .htaccess.

Поддержка сайта
С удовольствием создаю годный контент. Буду очень признателен, если вы поддержите мои усилия:

днём интернета
шоколадкой для работы мозга
коробочкой ароматного чая для бодрости

продлением хостинга на +1 месяц

2 070

не в сети 6 месяцев

Редирект в .htaccess (RewriteEngine)

Синтаксис:

Redirect  URL-path URL-to-redirect

Необязательный параметр — это три цифры — код редиректа (например, 301). Если не указан, то по умолчанию подставляется 302.

— часть запрашиваемого пользователем (или поисковиком) адреса, которая должна обязательно начинаться со слеша (/)

— полный адрес сайта (и, возможно, часть пути), на который будет осуществляться редирект. Должен быть вида http://site.ru/ — то есть обязательно должен присутствовать протокол (http://) и закрывающий адрес сайта слеш (/).

Если заканчивается не слешем, то редирект будет срабатывать только в случае точного совпадения запрошенного пользователем адреса и .

Если заканчивается слешем, то редирект сработает не только для указанного адреса, но и для всех, которые начинаются на указанный. А к будет добавлена часть адреса, следующая за последним указанным слешем в .

Действие директивы аналогично , но в параметрах URL-regexp и URL-to-redirect можно использовать регулярные выражения.

// должно быть включено (on) для работы RewriteRule
RewriteEngine on 
RewriteRule URL-regexp URL-to-redirect ]

У директивы более широкий спектр применения. Который, в числе прочих возможностей, разрешает ее использования и для редиректа — с указанием в конце строки в квадратных скобках флагов (выполнить немедленно) и (редирект).

Примеры использования:

Redirect / http://yandex.ru/yandsearch?text= # Выполнится 302 редирект (по умолчанию) на поиск в Яндексе символов, введенных в адресную строку после названия Вашего сайта.

# То есть если посетитель введет http://ваш_сайт.ru/page, то браузер его перенаправит на http://yandex.ru/yandsearch?text=page

Redirect 301 /hello.html http://google.ru/search?q=bye # В случае перехода на страницу http://ваш_сайт.ru/hello.html выполнится 301 редирект на поиск в Гугле фразы "bye".

RedirectMatch (.*)\.jpg$ http://хостинг_для_картинок$1.jpg # "Временно" (по умолчанию действует 302 редирект) переадресовываем все запросы jpeg-картинок на какой-либо бесплатный хостинг

# или то же самое, но с применением RewriteRule:
RewriteEngine on
RewriteRule (.*)\.jpg$ http://хостинг_для_картинок$1.jpg 

Переадресация с http на https

При переезде сайта с http на https (установка SSL-сертификата) потребуется код, который не требует дополнительных модификаций:

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1

Второй метод осуществляет перенос с http://domain.ru на https://domain.ru:

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteCond %{HTTP_HOST} ^domain\.ru$

RewriteRule ^(.*)$ https://domain.ru/$1

Третий способ выполняет аналогичную функцию, но отключает перенаправление для robots.txt:

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteCond %{REQUEST_URI} !robots.txt

RewriteRule ^(.*)$ https://domain.ru/$1

В 4-й версии конечным пунктом для пользователя станет https://www.domain.ru:

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteCond %{HTTP_HOST} ^domain\.ru$

RewriteRule ^(.*)$ https://www.domain.ru/$1

Позволяет сделать форвардинг с http://www.poddomen.domain.ru на https://poddomen.domain.ru:

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.poddomen\.domain\.ru$

RewriteRule ^(.*)$ https://poddomen.domain.ru/$1

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1

Последняя версия, дающая возможность сделать связь между http://poddomen.domain.ru на https://www.poddomen.domain.ru:

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{HTTP_HOST} ^poddomen\.domain\.ru$

RewriteRule ^(.*)$ https://www.poddomain.domain.ru/$1

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1

Один (а не два последовательных!) 301 редирект на без www и без слеша на конце адреса страницы

RewriteCond %{REQUEST_URI} ^\/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} \/$ 
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)\/$ http://%1/$1

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} \/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)\/$ http://%1/$1

Заменить имя GET параметра в запросе на другое в mod rewrite

Пример запроса:

http://mysite.ru/vazniy-razdel.php?param1=value

нужно переадресовать на

http://mysite.ru/new-address.php?prm=value

# нам нужно извлечь значение старого параметра,
# чтобы потом его передать в RewriteRule
RewriteCond %{QUERY_STRING} ^param1=(.*)$
# теперь значение value находится у нас в щаблоне %1
RewriteRule ^vazniy-razdel\.php$ /new-address.php?prm=%1

1
2
3
4
5

# нам нужно извлечь значение старого параметра,
# чтобы потом его передать в RewriteRule

RewriteCond%{QUERY_STRING}^param1=(.*)$NC

# теперь значение value находится у нас в щаблоне %1

RewriteRule^vazniy-razdel\.php$/new-address.php?prm=%1R=301,L

Один (а не два последовательных!) 301 редирект на c www и без слеша на конце адреса страницы

RewriteCond %{REQUEST_URI} ^\/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ http://www.%1/$1

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} \/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)\/$ http://www.%1/$1

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ http://www.%1/$1

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} \/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)\/$ http://www.%1/$1

Примеры простых редиректов отдельной страницы

Использование в файле .htaccess позволяет перенаправлять пользователей со старой страницы на новую без необходимости сохранения старой страницы.

Например, если вы используете index.html в качестве индексного файла, а затем позже переименуете index.html в home.html, вы можете настроить перенаправление для отправки пользователей с index.html на home.html:

Redirect /path/to/old/file/old.html /path/to/new/file/new.html
Redirect /path/to/old/file/old.html https://www.example.com/new/file/new.html

Первый путь к старому файлу должен быть локальным путем, а не полным путем. Так, если файл находится в каталоге , не нужно включать в локальный путь. Первая представляет каталог . Если старый файл находился в этом каталоге, то после следует имя старого файла.

Второй путь к новому файлу может быть локальным путем, но может быть и полным URL-адресом для ссылки на страницу на другом или том же сервере.

RedirectMatch 301 ^/blog/about /blog/about.html
Redirect /index.html /new/
Redirect /index.html /default.html
Redirect /private/ https://www.example.com/private/

Убедитесь, что другой сайт является вашим собственным. Никогда не делайте горячих ссылок на файлы с других сайтов.

Redirect /img/logo.gif https://www.example.com/images/logo.gif

Если вы хотите использовать регулярное выражение для перенаправления чего-либо, используйте директиву RedirectMatch:

RedirectMatch "^/oldfile\.html/?$" "https://example.com/newfile.php"

Вы также можете перенаправлять ошибки 404. Вместо того чтобы выводить страницу 404, вы перенаправляете на домашнюю страницу сайта.

ErrorDocument 404 https://example.com/

Этот пример перенаправляет файлы из старой директории в новую директорию . Файл должен существовать в новой директории.

RewriteRule ^blog/archives/(.*)$ /newarchives/$1 

Как решить проблему, если вы – пользователь

Выше я рассмотрела способы устранения ошибки 403 Forbidden для владельцев сайта. Теперь же разберу методы исправления в случаях с пользователем.

  • Сначала надо убедиться, что проблема заключается именно в вашем устройстве. Внимательно проверьте, правильно ли вы ввели URL сайта. Может, в нем есть лишние символы. Или, наоборот, какие-то символы отсутствуют.
  • Попробуйте загрузить страницу с другого устройства. Если на нем все будет нормально, значит, проблема кроется именно в используемом вами девайсе. Если нет – надо перейти к последнему шагу.
  • Еще хороший вариант – немного подождать и обновить страницу. Делается это либо кликом по иконке возле адресной строки браузера, либо нажатием на комбинацию Ctrl + F5. Можно и без Ctrl, на ваше усмотрение.
  • Если ничего из вышеперечисленного не помогло, надо очистить кэш и cookies. Провести такую процедуру можно через настройки браузера. Для этого необходимо открыть историю просмотров, чтобы через нее перейти к инструменту очистки. Эту же утилиту часто можно найти в настройках, в разделе «Конфиденциальность и безопасность». В новом окне нужно отметить пункты с кэшем и cookies и нажать на кнопку для старта очистки.
  • Ошибка 403 Forbidden возникает и тогда, когда пользователь пытается открыть страницу, для доступа к которой сначала надо осуществить вход в систему. Если у вас есть профиль, просто войдите в него и попробуйте вновь загрузить нужную страницу.
  • Если вы заходите со смартфона, попробуйте отключить функцию экономии трафика в браузере. Она находится в настройках, в мобильном Google Chrome под нее отведен отдельный раздел. 
  • Последний шаг – подождать. Когда ни один способ не помогает, значит, неполадки возникли именно на сайте. Возможно, его владелец уже ищет способы решения проблемы и приступает к их исполнению, но это может занять какое-то время. Пользователям остается только дождаться, когда все работы будут завершены.

Еще одна допустимая причина появления ошибки сервера 403 – доступ к сайту запрещен для определенного региона или страны, в которой вы находитесь. Бывает и такое, что сайт доступен для использования только в одной стране. Если вы используете VPN, попробуйте отключить его и перезагрузите страницу. Вдруг получится все исправить. 

Если ничего из вышеперечисленного не сработало, рекомендуется обратиться к владельцу сайта. Есть вероятность, что никто не знает о возникшей проблеме, и только ваше сообщение может изменить ситуацию. 

Как исправить ошибку Word не может завершить сохранение из-за ошибки доступа к файлу?

В этом разделе мы покажем вам несколько решений, позволяющих решить проблему с невозможностью завершить сохранение из-за ошибки разрешения файла. Продолжайте читать, чтобы узнать больше.

Решение 1. Сохраните файл под другим именем.

Первое решение, чтобы решить, что слово не может завершить сохранение из-за ошибки доступа к файлу, — сохранить файл под другим именем.

А вот и руководство.

Шаг 1. Просто нажмите файл кнопку в левом углу, чтобы продолжить.

Шаг 2: нажмите Сохранить как , а затем измените имя файла и место сохранения файла.

Когда все шаги будут завершены, вы можете успешно решить, что слово не может завершить сохранение из-за ошибки разрешения файла Windows 10.

Решение 2. Отключите антивирусное ПО.

Как мы уже упоминали в предыдущем разделе, слово не может завершить сохранение из-за ошибки разрешения файла может быть вызвано антивирусным программным обеспечением, препятствующим процессу сохранения данных. Антивирусное программное обеспечение может защитить ваш компьютер от вирусных атак, но оно также приводит к некоторым другим ошибкам. Итак, чтобы сохранить файл, вы можете временно отключить антивирус.

Чтобы отключить антивирусную программу, действия очень просты. Например, если вы используете Avast, просто щелкните значок Настройки антивирусной программы, а затем выберите Отключить это продолжить.

Несколько способов временно или полностью отключить Avast для ПК и Mac

Как отключить (остановить или закрыть), удалить (или удалить) антивирус Avast в Windows и Mac? Этот пост показывает вам несколько методов для этой работы.

Читать больше

После его отключения вы можете снова сохранить файл, чтобы проверить, не удается ли слово не завершить сохранение из-за ошибки разрешения файла.

Решение 3. Запустите Microsoft Word в безопасном режиме.

Если два вышеуказанных метода неэффективны, вы можете проверить, можете ли вы решить эту проблему, запустив Microsoft Word в безопасном режиме. В безопасном режиме все надстройки не загружаются.

А вот и руководство.

Шаг 1: нажмите Windows ключ и р ключ вместе, чтобы открыть Бежать диалоговое окно, затем введите winword / сейф в поле и щелкните Хорошо продолжать.

Шаг 2: Затем Microsoft Word откроется в безопасном режиме. Щелкните значок файл кнопку в левом углу и выберите открыто и перейдите к файлу, который хотите открыть, чтобы продолжить.

Шаг 3: Запустите файл и сохраните его. Если файл можно успешно сохранить в безопасном режиме, это означает, что либо ваши надстройки, либо профиль пользователя повреждены. Следовательно, вам нужно это исправить.

Шаг 4: Щелкните значок файл кнопку и выберите Параметры , а затем выберите Надстройки . Нажмите Идти перед Надстройка COM .

Шаг 5: Далее здесь будут перечислены все надстройки. Просто попробуйте отключить их по одному. Затем проверьте, что слово не может завершить сохранение из-за исправления ошибки разрешения файла.

Если этот метод не эффективен, вы можете перейти к следующему методу.

Решение 4. Проверьте Центр обновления Windows и Центр обновления Майкрософт.

Вы можете попробовать обновить Windows и Microsoft Word, чтобы исправить слово не удается завершить сохранение из-за ошибки разрешения файла.

А вот и руководство.

Шаг 1: нажмите Windows ключ и я ключ вместе, чтобы открыть Настройки . Тогда выбирай Обновление и безопасность продолжать.

Шаг 2. Во всплывающем окне выберите Центр обновления Windows и нажмите Проверить обновления продолжать.

Шаг 3: После обновления Windows вам также необходимо обновить Microsoft Word. Нажмите Вот чтобы узнать, как обновить Центр обновления Windows.

Когда все шаги будут завершены, вы можете снова сохранить файл и проверить, не удается ли сохранить слово не удается из-за ошибки разрешения файла.

Как настроить редирект на www (или без www)

Подобные перенаправления требуются для случаев, когда сайт доступен по вариантам nsite.ru и www.nsite.ru, в этом случае поисковики считают их дублями и могут либо самостоятельно выбрать один из вариантов в качестве главного зеркала, либо в поиске будут варианты с обоих доменов. В общем случае, это отрицательный фактор при ранжировании сайта.

Вариант попроще, для одного домена. Перенаправление производится с поддомена www.site.ru на site.ru:
Здесь появилась новая директива RewriteCond, которая задаёт условие, при котором должны срабатывать редиректы — правила RewriteRule. Условие, в данном случае, имя домена, соответствующее www.nsite.ru (в регулярных выражения символ точки означает «любой символ», поэтому его желательно экранировать с помощью обратного слеша).

Обратное перенаправление тоже выполнить очень просто:
Оба варианта рабочие, но у них есть маленький минус — для каждого нового конфига необходимо заменять домен nsite.ru на свой собственный. Нельзя ли сделать уникальный вариант? Легко!

Редирект с любого поддомена www:

Редирект на поддомен с www:

%{HTTP_HOST} — текущий домен

Как удалить значок Get Genuine Office?

Множество методов, которые МОГУТ удалить подлинный баннер Office из программного обеспечения Office.

Решение 1. Удалите Get Genuine Office, отключив Connected Experience в Office

  1. Откройте любой из продуктов Office, Word, Excel, PowerPoint и т. Д.
  2. Нажмите Файл в левом верхнем углу и выберите Опции в конце левого меню.
  3. Появятся новые окна. По умолчанию Общая вкладку, найдите и щелкните значок Настройки конфиденциальности кнопка.
  4. в Настройки конфиденциальности окно, прокрутите вниз, чтобы найти Включите подключенный опыт и снимите галочку.
  5. Нажмите хорошо сохранить изменения.

В Outlook 2016 и более поздних версиях необходимо перейти к Файл> Учетная запись Office> Конфиденциальность учетной записи> Управление настройками.

Отключение этой опции подключенного взаимодействия отключит возможности, которые анализируют ваш контент, загружают онлайн-контент, а также другие связанные функции, такие как совместное редактирование и онлайн-хранилище файлов.

Решение 2. Остановите OGAAddin.dll загрузку с приложением Office

OGAAddin.dll и OGAVerify.exe — это несколько файлов, которые были установлены с помощью уведомлений OGA. OGAAddin.dll позволяет устанавливать уведомления OGA в качестве надстройки к приложениям в пакетах повышения производительности Microsoft Office, чтобы показывать ненастоящее предупреждение о незаконной или незаконной копии Office.

Таким образом, отключение OGAAddin.dll при загрузке приведет к удалению сообщения получить подлинный офис.

  1. нажимать Windows + R клавиши на клавиатуре, чтобы открыть окно ‘Выполнить’ Windows.
  2. Вход regedit и нажмите хорошо для запуска Registry Editior.
  3. Используйте Ctrl + F для поиска раздела реестра OGGAAddin.connect.
  4. В правом разделе редактора реестра будет список результатов поиска. Найдите и щелкните правой кнопкой мыши Поведение при загрузке и выберите Изменить .
  5. Измените значение данных с 3 на .
  6. Повторите эти действия для каждого найденного соединения OGAAddin.connect.

Это заставит Windows думать, что OGA установлено. Таким образом, пользователю не будет предлагаться снова установить OGA. Или вы можете напрямую удалить OGAAdmin из Надстройки вкладка окон параметров, упомянутых в Решении 1, или из файлового проводника ( % SystemDrive% Windows System32 или % SystemDrive% Windows SysWow64 ).

Решение 3. Active Office с подлинной лицензией

Если вы ранее приобрели ключ продукта Office, убедитесь, что вы зарегистрировали приложение Office на своем компьютере с ним. Если нет или вы не уверены в регистрации, просто зарегистрируйте текущий офис еще раз!

Решение 4. Установите подлинный Office

Точно так же, если вы когда-либо покупали подлинный Office, но забыли установить его на свой компьютер и заменить установленную неизвестную версию, просто удалите текущую проблемную версию Office и установите подлинную версию.

Решение 5. Переустановите подлинную версию Office.

Если ваша текущая версия Microsoft Office подлинная, но вы все равно заметите получить подлинную ошибку Office , вы можете попробовать переустановить Office, если вы все еще можете найти установочный диск или USB.

Решение 6. Заново войдите в Microsoft Office.

Иногда проблемы могут возникнуть, если вы долгое время не касались своего аккаунта, и официальная сторона не может сказать, являетесь ли вы законным пользователем продукта. Так что получить подлинный баннер Office может исчезнуть после того, как вы выйдете из системы и снова войдете в свою учетную запись Microsoft.

Теперь вы можете войти в свою учетную запись Microsoft с помощью устройства FIDO2 или Windows Hello, что намного безопаснее для учетной записи и данных.

Как же сделать перенаправление всех запросов на index?

Для того чтобы это сделать, мы в корневой папке сайта создаем файл .htaccess. Данный файл необходимо открыть как обычный текстовик или с помощью программы для написания кода. Я открываю этот файл через программу Sublime Text.

ВНИМАНИЕ

Для файла .htaccess следует использовать права доступа 644 и загружать его в ASCII-режиме. Если ваш .htaccess файл не работает, то вам следует обратиться к системному администратору или в техподдержку вашего веб-хостинга и убедиться, что использование его разрешено для вашей учетной записи, так как некоторые хостинговые компании не позволяют его использование без предварительного разрешения, это в основном относится к бесплатным хостингам. Также, к сожалению, .htaccess не будет работать на Windows-серверах.

В файл htaccess вписываем следующий код.

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php

Первая строка кода разрешает внесение изменений в работу сервера.

Вторая и третья строка кода добавляет условие при котором происходит проверка:

  • RewriteCond %{REQUEST_FILENAME} !-f – проверка наличия файла с таким названием
  • RewriteCond %{REQUEST_FILENAME} !-d –  проверка наличие директории с таким названием

Если название файла на который идет запрос указанно верно и такой файл существует, то происходит перенаправление запроса на файл index.php.

Настройка кириллических доменов .РФ

Правила и логика работы с доменами на кириллице абсолютно такие же, единственным отличием является замена символов кириллицы на специальный код.

301 редирект с одного домена на другой

RewriteCond %{HTTP_HOST} ^oldmysite\.ru$ 
RewriteRule ^(.*)$ http://newmysite.ru/$1 

Правило для доменов .РФ

RewriteCond %{HTTP_HOST} ^xn-...\.xn--p1ai$ 
RewriteRule ^(.*)$ http://mysite.ru/$1 

Редирект на папки со слешем на конце

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..{1,10}$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://mysite.ru/$1/ 

Редирект на папку без слеша — убираем слеш на конце

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ http://www.site.ru/$1 

Редирект со всех страниц кроме определенной папки

Для примера возьмем в исключение папку панели администратора в CMS Bitrix

RewriteRule ^bitrix/ /bitrix/admin/  
RewriteRule ^(.*)$ http://mysite.ru/ 

Редирект с index.php на корень сайта

RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://mysite.ru/  

Переадресация с поддомена на основной домен

RewriteCond %{HTTP_HOST} ^abc.mysite.ru$  
RewriteRule ^(.*)$ http://mysite.ru%{REQUEST_URI} 

Редирект страницы из различных директорий

Если в разных папках сайта лежит файл с одинаковым названием, то настроить переадресацию этих файлов на один.

RewriteRule /nash-file.php /nash-file.php 

Создаем ЧПУ-копию динамических страниц

Для страницы появится обычный URL без передачи Get-параметров.

RewriteRule ^catalog/okno/?$ /firma/okna/detail.php?ID=123 

Переадресация с https на http

Необходимое правило для решения проблемы с дублями страниц в поисковых системах.

RewriteCond %{HTTPS} "on"
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} 

Настройка ответа 403 для спама по REFERER

Данное правило позволяет не пускать на сайт спамный трафик с других сайтов:

RewriteCond %{HTTP_REFERER} ref-spam-site.ru  
RewriteCond %{HTTP_REFERER} another-ref-spam.ru 
RewriteRule .* - 

Обработка ошибки 404 в .htaccess

Для поисковых систем очень важно получать код ответа 404 для несуществующих страниц

ErrorDocument 404 /404-for-me.php

Редирект 301 в панелях управления сервера

Большинство панелей управления сервера предоставляют возможность настройки переадресации с кодом 301. Рассмотрим варианты решения этой задачи на примере двух популярных ПУ для VDS.

Cpanel

Нужно перейти в блок «Домены» => «Перенаправления». В появившемся окне выполнить следующее:

  • В строке «Тип» выбрать «Постоянный 301».

  • В строке «https://www» из выпадающего списка выбрать домен сайта (например, example.ru).

  • В строке «Перенаправляет на» указать для домена адрес http://example.ru.

  • В блоке «Перенаправление www» поставить галочку напротив «Перенаправлять только с www».

  • Сохранить изменения кликом на «Добавить».

ISPmanager

В этой панели можно вручную править файлы nginx.config или .htaccess, но есть и встроенный механизм переадресации. Например, для настройки редиректа на https/http нужно снять галочку с соответствующего пункта в разделе «WWW-домены».

Редирект в JavaScript

Метод позволяет заменить одну страницу другой таким образом, что это замещение не будет отражено в истории просмотра HTML-страниц (history) браузера

location.replace("https://www.google.com");
document.location.replace("https://www.google.com");

Метод полностью моделирует поведение браузера при нажатии на кнопку в панели инструментов. Если вызывать метод без аргумента или указать его равным , то браузер проверит время последней модификации документа и загрузит его либо из кеша (если документ не был модифицирован), либо с сервера.
Такое поведение соответствует нажатию на кнопку . Если в качестве аргумента указать , то браузер перезагрузит текущий документ с сервера. Такое поведение соответствует одновременному нажатию на и кнопки клавиатуры .

window.location.reload("https://www.google.com");

Следующие примеры тоже перенаправят на google:

location="https://www.google.com";
document.location.href="https://www.google.com";

С помощью функции возможно реализовать задержку переадресации перед выполнением редиректа (в примере — 5 секунд):

setTimeout( 'location="https://www.google.com";', 5000 );

Простой пример редиректа с таймером:

<script type="text/javascript">
var sec=10;
 function Sec()
 {
  document.getElementById("sec").innerHTML=sec;
   sec--;
   if(sec==1)
   {
   	  location.replace("https://www.google.com")
   }
   setTimeout('Sec()',1000);
 }

 Sec();
</script>
<p>Подождите пожалуйста <span style="color:red;font-weight: bold;" id="sec" name="sec">10</span> сек или перейдите по этой ссылке: <a href="https://www.google.com">https://www.google.com</a></p>

Один (а не два последовательных!) 301 редирект на без www и с слешем на конце адреса страницы

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1/

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ http://%1/$1/

Стандартный .htaccess для WordPress

В большинстве случаев при установке WordPress на хостинг .htaccess создается в корневой директории сайта. Однако иногда этого не происходит и тогда нужно создать этот файл самостоятельно. Для этого выполните следующие действия:

  1. Подключитесь к хостингу по FTP, используя FileZilla или другой FTP-клиент, и перейдите в корневую директорию сайта.
  2. Кликните правой кнопкой мыши по правому окошку с файлами сайта и выберите «Создать новый файл».
  3. Введите .htaccess и нажмите OK.

Обратите внимание! Убедитесь, что ввели имя .htaccess (с точкой), а не htaccess (без точки). Другой способ создания файла .htaccess — через Консоль WordPress

Выберите в главном меню Настройки > Постоянные ссылки и, ничего не меняя на странице, нажмите кнопку «Сохранить изменения»

Другой способ создания файла .htaccess — через Консоль WordPress. Выберите в главном меню Настройки > Постоянные ссылки и, ничего не меняя на странице, нажмите кнопку «Сохранить изменения».

Стандартный .htaccess для WordPress выглядит следующим образом:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php 

# END WordPress

По умолчанию в .htaccess WordPress-сайта указаны только правила для корректного отображения постоянных ссылок записей и страниц. Однако, это легко изменить, добавив в файл дополнительные правила, которые и будут описаны далее.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: