Главная » HTML5 » Разная информация » Трюки в .htaccess
43 0  

Трюки в .htaccess

Что и как можно настроить в .htaccess am Работает только на: ОС - Linux, сервер - Apache, включен модуль - Mod-Rewrite.

Задаем кодировку

AddDefaultCharset UTF-8


bully Как коментировать в .htaccess?
Просто ставим решетку, пример:

#тут ваш комментарий
RewriteRule (.+)/$ $1 

можно так

RewriteRule (.+)/$ $1 #тут ваш комментарий


Самые необходиме редиректы:

#301 редирект с www на без www
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]

#301 редирект с index.html на главную страницу
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ https://ardilla-cms.top/ [R=301,L]

#Редирект 301 с страницы с .html на страницу без .html
RewriteCond %{THE_REQUEST} /([^.]+)\.html [NC]
RewriteRule ^ /%1 [NC,L,R]
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^ %{REQUEST_URI}.html [NC,L]



Значение символов в .htaccess?

. — точка означает любой символ;
[abc] — перечень символов, совпадающих с буквами a, b, или с;
[^abc] — перечень символов, что не входят в диапазон. Условию соответствует любой символ, кроме a, b, с;
* — предыдущий символ может повторяться 0 и более раз;
[abc]* — найти символы из заданного набора, идущие подряд;
[^abc]* — обратная операция;
.* — замена любого набора символов;
 ".*" — найти все подстроки между кавычками;
^ — обозначает начало строки (при использовании в начале выражения);
$ — конец строки;
\w — буква, цифра или подчёркивание _;
\d — любая цифра;
\D — любой символ, кроме цифр;
[0-9] — указание на любую цифру;
[a-z] — указание на любую букву от a до z с нижним регистром;
[A-Z] — указание на любую букву от A до Z с верхним регистром;
[a-zA-Z] — любая буква от a до Z, регистр не важен;
[a-Z] — то же самое, только короче.
Флаги для доп. опций
NC — NoCase отключает проверку регистра символов при срабатывании правила.
R — Redirect останавливает изменение URL-адреса и возвращает результат. 
L — Last останавливает создание URL-адреса, и строка считается окончательной.

Спецсимволы:

    ^ - ограничение слева (начало строки);
    $ - ограничение справа (конец строки);
    . - Точка это любой символ;
    () - переменная (группировка);
    \ - экранирование (символ после \ считается обычным, а не спецсимволом);
    [] - диапазон значений;
    [abc] — перечень символов, совпадающих с буквами a, b, или с.
    [^abc] — перечень символов, не входящих в диапазон. Условию соответствует любой символ, кроме a, b, с.
    * — предыдущий символ может повторяться 0 и более раз.
    [abc]* — найти символы из заданного набора идущие подряд.
    [^abc]* — обратная операция.
    \w — буква, цифра или подчёркивание _.
    \d — любая цифра.
    \D — любой символ, кроме цифр.
    [0-9] — указание на любую цифру.
    [a-z] — указание на любую букву от a до z с нижним регистром.
    [A-Z] — указание на любую букву от A до Z с верхним регистром.
    [a-zA-Z] — любая буква от a до Z, регистр не важен.
    [a-Z] — тоже самое, только короче.
    ! - специальный символ отрицания;

Модификаторы:

    ? - символ повторяется 0 или 1 раз;
    + - 1 и более символов (до 65536);
    * - предыдущий символ может повторяться 0 и более символов (до 65536);

Флаги для дополнительных опций в правиле

Флаги нужно перечислять только в квадратных скобках через запятую, примеры: [NC] или [R=301,L].

NC — NoCase отключает проверку регистра символов при срабатывании правила.
R — Redirect останавливает изменение URL-адреса и возвращает результат. Самое популярное значение R=301, однако встречаются и другие для временных редиректов (302, MOVED TEMPORARY).
L — Last останавливает создание URL-адреса и строка считается окончательной.

Опыт в веб разработке:

2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
1979
2020