Наиболее часто используемые, и наиболее сложные директивы .htaccess. Предположим мы хотим при запросе нашего сайта переадресовать пользователя на другой URL, для этого нам необходимо в корневую директорию сайта добавить файл .htaccess со следующим содержимым
[cc name=»1″/]
более сложный пример, мы хотим определенные страницы нашего сайта переадресовывать на другие сайты
[cc name=»2″/]
теперь при наборе http://mysite.ru/linux будут открываться http://www.linux.org. В последнем примере WEB сервер будет передавать код 301, что означает «документ перемещен постоянно».
Синтаксис команды Redirect выглядит следующим образом:
[cc name=»3″/]
Директива RedirectMatch аналогична директиве Redirect за исключением того, что в RedirectMatch возможно использование регулярных выражений, что, несомненно, может быть удобно в некоторых условиях. Например, для организации передачи параметров скрипту в теле URL.
[cc name=»4″/]
Хотя данный пример и вызовет перезагрузку страницы в дальнейшем его можно будет улучшить. Здесь необходимо сделать небольшое лирическое отступление и поговорить о синтаксисе регулярных выражений.
В регулярном выражении можно использовать любые печатные символы и пробел, но часть символов имеет особое значение:
- Круглые скобки () используются для выделения групп символов. В дальнейшем к ним можно обращаться по номеру.
- Символ ^ обозначает начало строки.
- Символ $ обозначает конец строки.
- Символ . обозначает любой символ.
- Символ | обозначает альтернативу. Например, выражения «A|B» означают «A или B».
- Символ ? ставится после символа (группы), который может как присутствовать, так и отсутствовать.
- Символ * ставится после символа (группы), который может отсутствовать или присутствовать неограниченное число раз подряд.
- Символ + действует аналогично символу * с той лишь разницей, что предшествующий ему символ обязательно должен присутствовать хотя бы один раз.
- Квадратные скобки [] используются для перечисления допустимых символов.
- Квадратные скобки [^] используются для перечисления недоступных символов.
- Символ ставится перед спецсимволами, если они нужны в своем первозданном виде.
- Все, что расположено после символа ‘#’, считается комментарием.
Это все основные примитивы, с помощью которых можно построить любое регулярное выражение.