- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов

В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Файл .htaccess служит для управления некоторыми функциями сервера Apache. Все изменения в нём производятся с помощью внесения определённых записей в любом текстовом редакторе (блокнот, Dreamweaver и пр. Не путать с текстПроцессорами, типа MSWord).
Внимательно! В проводнике Windows будет невозможно создать файл с таким именем (т.е. без имени, только с расширением). Его необходимо будет создать в альтернативной программе (например Far Manager) или скопировать готовым откуда угодно и отредактировать.
Файл помещается непосредственно в корневую директорию сайта на сервере. Его правила распространяются на данную директорию и все поддиректории, находящиеся в ней.
1. Правила переадресации страниц. Redirect.
Выполняется для указания клиенту (браузеру, поисковому роботу), что данная страница навсегда (если redirect 301) или временно (если redirect 302) переехала по другому адресу.
Записывается:
Redirect 301 /filename.html http://domain.tld/newfilename.php
где /filename.html - старое название страницы (записывается без указания протокола и домена, от корня сайта.) http://domain.tld/newfilename.php - новое имя той же страницы. (записывается с указанием протокола и домена. Домен может быть как тот же, так и любой другой).
Запись вида:
Redirect 301 / http://domain.tld/
Будет означать, что все страницы сайта с верхнего уровня перенесены на новый сайт domain.tld (на главную страницу!)
При необходимости выполнить редирект постранично на другой домен (или поддомен) можно воспользоваться директивой RedirectMatch, которая позволяет использовать регулярные выражения.
Записывается:
RedirectMatch permanent ^(.*)$ http://domain.tld$1
где ^(.*)$ - страница, которую нужно перенести с данного домена. (^ - начало "сравниваемой" строки, (.*) - любое количество любых символов, $ - конец сравниваемой строки), http://domain.tld - домен на который был перемещён сайт, $1 - выражение в скобках.
2. Правила подмены строк. RewriteRule.
Используется для замены для сервера адресной строки на необходимую ему (например, передача GET-параметров в адресе страницы)
Записывается:
RewriteEngine on
RewriteRule ^(.+)\/$ index.php?file=$1
RewriteRule ^(.+)\/(.+)\.html$ index.php?file=$1&page=$2
Где RewriteEngine on - включение модуля Rewrite, ^(.+)\/$ - исходная строка, адрес в браузере (^ - начало строки, (.+) - два или более любых символа - можно написать и (.*), \/ - экранированный символ "/"), index.php - файл-скрипт, который должен быть запущен, ?file=$1 - параметр, который должен быть передан ($1 - выражение в первых скобках).
Чтобы было понятнее - поясню "на пальцах".
Строка RewriteRule ^(.+)\/(.+)\.html$ index.php?file=$1&page=$2 означает:
Адрес вида
http://domain.tld/filename/pagename.html
сервер воспримет как
http://domain.tld/index.php?file=filename&page=pagename
Внимательно! В данном случае клиент (браузер, поисковый робот) ничего знать не будет. Для него адрес страницы не изменится.
Запись вида:
RewriteEngine on
RewriteRule ^(.+)\/$ index.php?file=$1 [R=301, L]
будет совершать подмену не только для сервера, но уже и для клиента. Т.е. - это аналог директивы Redirect 301. "L" - будет означать, что это правило выполняется последним в файле .htaccess
3. Обработка ошибки 404.
Позволяет выдавать одну определённую страницу вместо отсутствующих и вместо ошибки 404.
Записывается:
ErrorDocument 404 /404.php
где 404.php - страница, которая загружается вместо отсутствующей.
3. Обработка ошибки 404.
Позволяет выдавать одну определённую страницу вместо отсутствующих и вместо ошибки 404.
Записывается:
ErrorDocument 404 http://domain.tld/404.php
Если я правильно помню, такая конструкция всегда выдавала редирект на указанный URL. А чтобы выдавать 404, нужно писать
ErrorDocument 404 /404.php
Тогда редиректа не будет.
P.S. Не поленился, проверил, факт - редирект 302 вместо корректной обработки ошибки 404. Рановато вам еще мануалы писать, гражданин "IT-директор".
Что вы там поправили? Какие еще "или" ? Зачем писать заведомо вредные конструкции, ведущие к некорректной обработке ошибки 404?
Колитесь, где взяли инфу?
P.P.S. Сделать файл .htaccess:
echo >.htaccess
Внимательно! В Windows будет невозможно создать файл с таким именем (т.е. без имени, только с расширением). Его необходимо будет скопировать готовым откуда угодно и отредактировать.
Файл помещается непосредственно в корневую директорию сайта на сервере. Его правила распространяются на данную директорию и все поддиректории, находящиеся в ней.
В far'е под windows вполне можно. Не путайте возможности винды и ограничения проводника.
Да, всё верно. Подправил.
Учёл все комментарии и подправил ещё раз. Kost, innov, спасибо.
Kost-у - отдельное, за выражение лояльности в виде (-)репы!!!