Вернуться   SEO форум - оптимизация и продвижение сайтов > Web разработки > Разработка сайтов

Важная информация
Разработка сайтов - Создание сайта, сателлитов, настройка CMS, установка движков, скрипты...

Результаты опроса: Вносите ли Вы измения в файл .htaccess
Да 15 75.00%
Нет 1 5.00%
незнаю что это 1 5.00%
незнаю где находится 0 0%
я профи по работе с таким файлом 3 15.00%
Голосовавшие: 20. Вы ещё не голосовали в этом опросе

Ответ
выдача ТОП 4Полезны

 
Опции темы Рейтинг: Рейтинг темы: голосов - 5, средняя оценка - 3.40. Опции просмотра
Старый 06.04.2009, 10:40   #1
 
Аватар для specialist-seo
 
Сообщений: 2,199
FR (активность): 49,104

Доп. информация
Счастье Автор темы Разборки с .htaccess. Редиректы 301, 302, 404. Исполняемые файлы. Установка пароля

Вопросы и ответы по .htaccess
1) Как в страничку с расширением html можно впихнуть php и что бы работало?
2) Склейка PR, избавление от www или наоборот)
3) 301 редирект на новый сайт
4) 301 редирект одной страницы сайта, псевдостатичный адрес.
5) Перенаправление со всех страниц с одним расширением на другой
6) Указание явной кодировки
7) Директива Redirect
8) Директива RedirectMatch
9) Как запретить веб-посетителям читать файлы в директории?
10) Разрешить доступ с определенного ip:
11) Запретить доступ с определенного ip:
12) Определяет доступ к файлу по его расширению
13) Запрет на конкретный файл:
14) Пароль на директорию:
15) Пароль только на 1 файл:
16) Пароль на группу файлов:
17) Показ разных страниц, в зависимости от IP адреса посетителя:
18) Перенаправление посетителя при запросе определенных страниц:



Как в страничку с расширением html можно впихнуть php и что бы работало?

Можно прописать следующее в .htaccess файле:

Код:
AddHandler application/x-httpd-php .php .html .htm
Склейка PR, избавление от www или наоборот)

Чтобы склеить PR создайте в корне сайта файл .htaccess. В него скопируйте:

Код:
RewriteEngine on
Options +FollowSymlinks
RewriteBase /

RewriteCond %{HTTP_HOST} ^http://www.ИМЯ-ВАШЕГО-САЙТА.ru$
RewriteRule ^(.*)$ http://www.ИМЯ-САЙТА-С-КОТОРЫМ-КЛЕЕТЕ.ru/$1- [R=301,L]
301редирект служит для переадресации, с посылом данных о перемещении страницы или домена на постоянной основе на другой адрес.

301 редирект на новый сайт
Код:
RewriteEngine on
RewriteRule (.*) http://вашновыйсайт.com/$1 [R=301,L]
301 редирект одной страницы сайта, псевдостатичный адрес.

Код:
RedirectMatch Permanent ^/stranica.aspx$ http://www.сайт.ru/stranichka.html[L,R=301]
Перенаправление со всех страниц с одним расширением на другой
Чтобы перенаправить с *.htm на *.html:

Код:
RewriteRule (.*)\.htm $1.html [L,R=301]
Указание явной кодировки
Код:
AddDefaultCharset WINDOWS-1251
Директива Redirect

Описание: Данная директива .htaccess выполняет редирект посетителя, запрашивающего документ на другой URL . Выполняет внешний редирект (сообщая браузеру о необходимости загрузить другой URL ).

Синтаксис:
Код:
Redirect [status] URL-path URL
status : необязательное поле, определяет код возврата, допустимые значения:
permanent (301 — документ перемещен постоянно)
temp (302 — документ перемещен временно)
seeother (303 — смотрите другой)
gone (410 — убран)

URL - path : локальная часть URL запрашиваемого документа.

URL : URL куда должен быть выполнен редирект

Код:
Redirect doc/ http://сайт.net.ru/index.php 

Redirect doc/index.html http://сайт.net.ru/index.php


redirect /~AM http://сайт.net.ru

redirect /~AM/index.shtml http://сайт.net.ru


redirect http://Best.Best-Host.ru/ http://сайт.ru/
Директива RedirectMatch

Описание: Выполняет редирект посетителя, запрашивающего документ на другой URL. Выполняет внешний редирект (загрузить другой URL). Директива аналогична Redirect, за исключением того, что вместо адреса запрашиваемого документа пишется регулярное выражение (шаблон)

Синтаксис:
Код:
Redirect [status] regexp URL
status: необязательное поле, определяет код возврата, допустимые значения:
permanent (301 — документ перемещен постоянно)
temp (302 — документ перемещен временно)
seeother (303 — смотрите другой)
gone (410 — убран)

URL-path: локальная часть URL запрашиваемого документа

regexp: регулярное выражение (шаблон), описывающее группу URL-е

Код:
RedirectMatch (.*)\.gif$ http://сайт.net.ru/$1.png

RedirectMatch (.*\.jpg)$ http://сайт.net.ru/$1
Как запретить веб-посетителям читать файлы в директории?

Запрет на все файлы:
Код:
deny from all
Где all обозначает "все".


Разрешить доступ с определенного ip:
Код:
order allow deny
deny from all
allow from <ваш ip>

В данном случае, обозначает конкретный адрес.
Например:
Код:
order allow deny
deny from all
allow from 192.126.12.199

Запретить доступ с определенного ip:
Код:
order allow deny
deny from all
deny from <ваш ip>
Определяет доступ к файлу по его расширению.
Например запрет на доступ к файлам с расширениям "inc" для веб-посетителей:
Код:
<Files "\.(inc)$">
order allow,deny
deny from all
</Files>
Запрет на конкретный файл:
Можно поставить запрет на конкретный файл по его названию и расширению.

Код:
<Files config.inc.php>
order allow,deny
deny from all
</Files>
В данном примере стоит запрет на обращения к файлу config.inc.php.


Пароль на директорию:
Код:
AuthName "Private zone"
AuthType Basic
AuthUserFile /pub/home/твой_логин/.htpasswd
require valid-user
</Files>

Значение: AuthName будет выводиться для посетителя и может использоваться для пояснения запроса авторизации. Значение AuthUserFile указывает на место, где хранится файл с паролями для доступа к данной директории. Этот файл создается специальной утилитой htpasswd.exe.

Например в директории, которую защищаем паролем создаем такой .htaccess:
Код:
AuthName "For Registered Users Only"
AuthType Basic
AuthUserFile /pub/site.ru/.htpasswd
require valid-user
</Files>

В этом примере, посетитель при запросе директории, будет читать фразу "For Registered Users Only", файл с паролями для доступа должен лежать в директории /pub/site.ru/ и называться .htapasswd . Директория указывается от корня сервера, если вы неправильно зададите директорию, то Апач не сможет прочитать файл .htpasswd и никто не получит доступа к данной директории.


Пароль только на 1 файл:
Аналогично паролированию директории полностью, можно ставить пароль только на 1 файл.
Пример установки пароля на файл private.zip:
Код:
<Files private.zip>
AuthName "Users zone"
AuthType Basic
AuthUserFile /pub/home/твой_логин/.htpasswd
</Files>


Пароль на группу файлов:
Аналогично, используя , можно ставить пароли по маске файлов.
Пример установки пароля на доступ ко всем файла с расширением "sql":
Код:
<Files "\.(sql)$">
AuthName "Users zone"
AuthType Basic
AuthUserFile /pub/home/твой_логин/.htpasswd
</Files>
Показ разных страниц, в зависимости от IP адреса посетителя:
Код:
SetEnvIf REMOTE_ADDR <нужный ip адрес> REDIR="redir"
RewriteCond %{REDIR} redir
RewriteRule ^/$ /another_page.html
Например, перенаправление посетителей с ip адресом 192.12.131.1 на страницу about_my_sity.html:
Код:
SetEnvIf REMOTE_ADDR 192.12.131.1 REDIR="redir"
RewriteCond %{REDIR} redir
RewriteRule ^/$ /about_my_sity.html
Перенаправление посетителя при запросе определенных страниц:
Это уже для всех сетевых вирусов и сканеров. Теперь любой запрос с адресом /_vti_bin будет автоматически перенаправляться на Microsoft:

Код:
redirect /_vti_bin http://www.microsoft.com
redirect /scripts http://www.microsoft.com
redirect /MSADC http://www.microsoft.com
redirect /c http://www.microsoft.com
redirect /d http://www.microsoft.com
redirect /_mem_bin http://www.microsoft.com
redirect /msadc http://www.microsoft.com
RedirectMatch (.*)\cmd.exe$ http://www.microsoft.com$1
psychomonkey и wmnakl: сообщение полезно

Обратите внимание на полезные ответы в этой теме!

specialist-seo вне форума  
Сказавших "Спасибо!": 13 (показать список)
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 17.03.2011, 23:18   #2
 
Аватар для Кабельщик
 
Сообщений: 15
FR (активность): 633

Доп. информация
По умолчанию Re: Разборки с .htaccess. Редиректы 301, 302, 404. Исполняемые файлы.

Огромное спасибо!!! Великолепная статья! Все сделал, как здесь - все заработало! Автору респект!
Кабельщик вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 07.12.2012, 19:15   #3
 
Аватар для Alex LM
 
Сообщений: 972
FR (активность): 221,002

Доп. информация
По умолчанию

Настройки вывода php ошибок при помощи htaccess

Убираем отображение ошибок php на сайте
# supress php errors
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_value docref_root 0
php_value docref_ext 0


Вывод ошибок php в произвольный лог файл
# enable PHP error logging
php_flag log_errors on
php_value error_log /home/path/public_html/domain/PHP_errors.log


Защищаем папку с логами от доступа
# prevent access to PHP error log
<Files PHP_errors.log>
Order allow,deny
Deny from all
Satisfy All
</Files>

Выставляем уровень вывода ошибок
integer - флаг, который задает глубину вывода ошибок. 0 - не выводить ничего, 8191- выводить в лог все. Значение 1 - выводит ошибки. Более подробное описение в документации по PHP.
# general directive for setting php error level
php_value error_reporting integer


Выставляем максимальный размер для строки с ошибкой
# general directive for setting max error size
log_errors_max_len integer


Отключить логирование повторяющихся ошибок

# disable repeated error logging
php_flag ignore_repeated_errors on
php_flag ignore_repeated_source on


Настройки для сайта в рабочем режиме
# PHP error handling for production servers
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_flag log_errors on
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag report_memleaks on
php_flag track_errors on
php_value docref_root 0
php_value docref_ext 0
php_value error_reporting -1
php_value log_errors_max_len 0

<Files /home/path/public_html/domain/PHP_errors.log>
Order allow,deny
Deny from all
Satisfy All
</Files>


Конфигурация для отладки или разработки
# PHP error handling for development servers
php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
php_flag log_errors on
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag report_memleaks on
php_flag track_errors on
php_value docref_root 0
php_value docref_ext 0
php_value error_log /home/path/public_html/domain/PHP_errors.log
# [see footnote 3] # php_value error_reporting 999999999
php_value error_reporting -1
php_value log_errors_max_len 0

<Files /home/path/public_html/domain/PHP_errors.log>
Order allow,deny
Deny from all
Satisfy All
</Files>


Alex Life Mix – путешествия
Часто задаваемые вопросы форума по SEO и близкой тематике - SEO FAQ
Alex LM вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
"Спасибо" от:
Phoenix (07.12.2012), wmnakl (20.01.2013), СТЕПАН (07.12.2012)
Старый 15.03.2013, 16:09   #4
 
Аватар для СТЕПАН
 
Сообщений: 1,639
FR (активность): 98,604

Доп. информация
По умолчанию

http://www.htaccessredirect.net/
хороши онлайн генератор
Оффтоп:
запостим здесь так как в чятике может затерятся
СТЕПАН вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 13.08.2013, 00:38   #5
 
Аватар для IgorZaz
 
Сообщений: 596
FR (активность): 13,873

Доп. информация
По умолчанию

Здравствуйте! Пришел очередной проект. Старый сайт был сделан на CMS при ~ 150!!! страницах, конечно надо было его переделать и привести в нормальный вид. После чего естественно структура поменялась. Дабы не терять вес и трафик со старых страниц, решил сделать редирект. И тут объявился "нежданчик". Суть такова:
Делаю редирект в htaccess вида:
' Redirect 301 /glass/triplex-steklo/ http://www.mysite.ru/usluhi.html ' (без кавычек конечно)
также присутствует
' ErrorDocument 404 /error/404-error.html '
в итоге получается открытие страницы с ошибкой 404 (по переходу через ErrorDocument 404 /error/404-error.html) , а в адресной строке адрес http://www.mysite.ru/steklo.htmltriplex-steklo/ .
В общем откуда и как - непонятно. Причем на большинство других страниц эта структура редиректа для этого же сайта нормально работает.(а на некоторых такая же фигня) Грешу на синтаксис, в частности на тире в triplex-steklo. В общем совсем в крайности ударился. Какие ваши предположения? Спасибо!
Скрытый (как скрывать?) текст. Только для группы: "Основа форума":
Ваша группа не позволяет просмотреть скрытую информацию.


Google - для слабаков! Настоящие мужики спрашивают у ясеня!
IgorZaz вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 13.08.2013, 07:59   #6
 
Аватар для terranodar
 
Сообщений: 410
FR (активность): 14,157

Доп. информация
По умолчанию

IgorZaz, "огласите весь список" правил в .htaccess, пожалуйста Чует моё сердце там должно быть правило с регулярным выражением
IgorZaz: сообщение полезно


Чтобы определить – писать глагол с -тся или -ться, спросите себя, на какой вопрос отвечает этот глагол – "что делать?" или "что делает?". Если в вопросе есть мягкий знак, значит он есть и в глаголе.
terranodar вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
"Спасибо" от:
IgorZaz (13.08.2013)
Старый 13.08.2013, 12:23   #7
 
Аватар для IgorZaz
 
Сообщений: 596
FR (активность): 13,873

Доп. информация
По умолчанию

terranodar, спасибо. Правильным путем направил. Правда из команд стояли только именно Redirect 301 и ErrorDocument 404, но была конструкция типа Redirect 301 /glass/ http://www.mysite.ru/steklo.html . А в браузере не сбрасывались куки наверное. Так что раньше даже при удалении этой строчки, показывался тот же самый бред. Сейчас исправил htaccess, зашел через осла и оказался нормальный переход. Так что в любом случае, направление было правильным, надо было только его "добить" окончательно. Спасибо.(ну и в репу)
Оффтоп:
Вопрос - как по быстрому скидывать куки (собственно лучше хром) чтобы не в настройках браузера каждый раз рыться? есть утилитка однокнопочная какая-нибудь?


Google - для слабаков! Настоящие мужики спрашивают у ясеня!
IgorZaz вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 13.08.2013, 12:27   #8
 
Аватар для wmnakl
 
Сообщений: 251
FR (активность): 7,786

Доп. информация
По умолчанию

IgorZaz,
Оффтоп:
Click&Clean, сам сижу на лисе, но и на хром есть, если функционал тот же, подойдет


истый адепт пастафарианства
wmnakl вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
"Спасибо" от:
IgorZaz (13.08.2013)
Старый 13.08.2013, 14:29   #9
 
Аватар для terranodar
 
Сообщений: 410
FR (активность): 14,157

Доп. информация
По умолчанию

Да не за что
Цитата:
Сообщение от IgorZaz Посмотреть сообщение
А в браузере не сбрасывались куки наверное
Сам сталкивался с таким, когда правил .htaccess. По-моему, дело не в куках, а в каких-то других механизмах браузера.
В итоге я пришёл к тому, что просто закрываю его и открываю заново, при изменениях в правилах перенаправлений.


Чтобы определить – писать глагол с -тся или -ться, спросите себя, на какой вопрос отвечает этот глагол – "что делать?" или "что делает?". Если в вопросе есть мягкий знак, значит он есть и в глаголе.
terranodar вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 22.08.2013, 12:05   #10
 
Аватар для IgorZaz
 
Сообщений: 596
FR (активность): 13,873

Доп. информация
По умолчанию

Собственно со всем разобрался. Заодно внес бы небольшую инфу, которая помогла разобраться, ЧТО я пишу и ПОЧЕМУ так:

В основном это касалось команды RewriteRule.
С помощью регулярных выражений задаются шаблоны строк.
Метасимволы используются для задания групп символов или «меток» в шаблоне:

^ — метка начала строки,
$ — метка конца строки,
! – отрицание,
\ — экранирующий слеш, позволяет считать следующий за ним метасимвол обычным символом,
. – точка, обозначает любой символ, но только один,
() – группировка.

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

? — символ повторяется 0 или 1 раз,
* — Повторяется от 0 до 65536 раз,
+ — Повторяется от 1 до 65536 раз.

Флаги определяют дополнительные опции для данного правила и перечисляются в квадратных скобках через запятую:

NC — (nocase) отключает проверку регистра символов.
R — (redirect) останавливает процесс преобразования и возвращает результат браузеру клиента как редирект на данную страницу (302, MOVED TEMPORARY). С данным флагом можно указать другой код результата, например R=301 возвратит редирект с кодом 301 (MOVED PERMANENTLY). Как вы понимаете, это то самое, что нам и надо.
L — (last) останавливает процесс преобразования, и текущая ссылка считается окончательной.

Оффтоп:
Можно добавить в 1 пост, а этот удалить. Я не тщеславный)
Umka: сообщение полезно


Google - для слабаков! Настоящие мужики спрашивают у ясеня!
IgorZaz вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
"Спасибо" от:
Umka (22.08.2013), wmnakl (22.08.2013)
Старый 24.08.2013, 10:38   #11
 
Аватар для IveGotSoul
 
Сообщений: 246
FR (активность): 5,439

Доп. информация
По умолчанию

Добрый день!
Интересует вопрос: если есть 2 домена, которые различаются в одной букве и привязаны к одному сайту.
Как я понял из справочной информации яндекса, ПС автоматически определит эти домены как зеркальные в силу наличия одинакового контента и в панели вебмастера можно будет выбрать основной. И в этом случае ссылочный вес с одного неглавного зеркала будет передаваться на главный верно?
То есть получается не обязательно настраивать редирект сайта?

То есть хотелось бы чтобы сервер не перенаправлял на новый адрес (как в случае с www), но при этом старый считался соподчиненным.
IveGotSoul вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 24.08.2013, 16:22   #12
 
Аватар для Lampard_DS
 
Сообщений: 3
FR (активность): 15

Доп. информация
По умолчанию

Подскажите пожалуйста, есть вэб-морда. В ней есть .htaccess с таким содержанием:
Цитата:
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule . index.php
На винде все идеально, на сервере где стоит дебиан+lighttpd выдает 404 при переходе на любую ссылку. Уже все мануалы перекопал, все конфиги перепробовал. В конфиге прописан модуль.
Цитата:
server.modules = (
"mod_access",
"mod_alias",
"mod_compress",
"mod_redirect",
"mod_rewrite",
)
Что делать незнаю уже(
Lampard_DS вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 24.08.2013, 22:38   #13
 
Аватар для IgorZaz
 
Сообщений: 596
FR (активность): 13,873

Доп. информация
По умолчанию

IveGotSoul, не нужно. Только в вебмастере на каждом сайте укажи где зеркало, а где главный.


Google - для слабаков! Настоящие мужики спрашивают у ясеня!
IgorZaz вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 25.08.2013, 10:05   #14
 
Аватар для IveGotSoul
 
Сообщений: 246
FR (активность): 5,439

Доп. информация
По умолчанию

IgorZaz, так сайт то один. И только основной домен зарегистрирован в панели вебмастера..Там просто выбрал основной домен.
IveGotSoul вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 25.08.2013, 16:51   #15
 
Аватар для Lampard_DS
 
Сообщений: 3
FR (активность): 15

Доп. информация
По умолчанию

А на мой вопрос?
Lampard_DS вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Ответ

Метки
.htaccess, htaccess

Быстрый ответ
Ваше имя пользователя: Регистрация. Для входа нажмите здесь
Случайный вопрос

Сообщение:
Опции


Опции темы
Опции просмотра Оценка этой теме
Оценка этой теме:

Ваши права в разделе
Вы не можете создавать новые темы
Вы можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Файлы Sitemap. Яндекс. Турист Яndex 30 05.06.2011 12:13
Продаю трафик. 404 htaccess редиректы bl4cks3om4st3r Трафик, загрузки 1 13.10.2009 00:00
.htaccess Ден Программирование 3 20.05.2009 08:44
Личные файлы на каждого пользователя сети Black-Cat Google 5 03.05.2009 20:11
Новый вирус - конвертирует mp3-файлы в формат WMA xam Безопасность 4 02.08.2008 23:41

Текущее время: 16:45. Часовой пояс GMT +3.