Иерархия статей
10 вариантов применения .htaccess файла, о которых вы должны знать
- 30.06.2011 06:32
- .htaccess
.htaccess файл, который функционирует под веб сервером Apache, однозначно является очень полезным инструментом, с помощью которого можно делать много вещей. В этой статье собрано 10 отрывков .htaccess файлов, которые любой разработчик веб-страниц должен иметь в своем комплекте инструментов.
Прежде чем отредактировать ваш .htaccess файл, всегда делайте резервную копию. В случае чего, вы можете восстановить его, если нужно.
Удаление www в url
Часто, с точки зрения SEO, лучше не использовать приставку www в своих URL. Следующий отрывок удалит www из вашего url и переадресует любой url с www к адресу без www.
--------------------------------------------------
RewriteEngine On
RewriteCond %{HTTP_HOST} !^your-site.com$ [NC]
RewriteRule ^(.*)$ http://your-site.com/$1 [L,R=301]
--------------------------------------------------
Предотвращаем хотлинки
Хотлинки – это не очень хорошая практика, которая заключается в использования изображений из другого места на вашем сайте. Когда вы используете хотлинки, трафик идёт не к вам, тем самым вы многое теряете. Конечно же, рано или поздно, вам понадобится что-то с этим делать. Добавьте следующий отрывок к своему.htaccess файлу после замены URL в качестве примера вашим собственным URL.
--------------------------------------------------
RewriteEngine On
#Заменит ?mysite\.com/ на свой url
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#Заменит /images/nohotlink.jpg на другое изображение
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]
--------------------------------------------------
Перенаправляем RSS к WordPress feedburner
Большинство блоггеров использует веб-службу Feedburner, которая сообщает, сколько людей читает ваш блог через подписки. Если вы используете WordPress, то должны переадресовать все сообщения WordPress (rss, atom, и т.д.) к feedburner. Измените строки 2 и 3, и затем приклейте этот код к своему .htaccess файлу.
--------------------------------------------------
< IfModule mod_alias.c >
RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ http://feedburner.com/yourfeed/
RedirectMatch 301 /comments/feed/(atom|rdf|rss|rss2)/?$ http://feedburner.com/yourfeed/
< /IfModule >
--------------------------------------------------
Создание собственных страниц ошибок
Устали от страшных страниц об ошибках на ваших сайтах? Всё, что вам нужно, так это создать парочку красочных html файлов, и вписать следующий код к своему .htaccess:
--------------------------------------------------
ErrorDocument 400 /errors/badrequest.html
ErrorDocument 401 /errors/authreqd.html
ErrorDocument 403 /errors/forbid.html
ErrorDocument 404 /errors/notfound.html
ErrorDocument 500 /errors/serverr.html
--------------------------------------------------
Загрузка файлов со специфическим форматом
Предлагая некоторые файлы на скачку, такие как mp3, eps или xls, вы можете облегчить работу своему веб браузеру и указать напрямую, что с ними нужно делать.
Этот отрывок вызовет загрузку.xls и.eps файлов с вашего сервера.
--------------------------------------------------
< Files *.xls >
ForceType application/octet-stream
Header set Content-Disposition attachment
< /Files >
< Files *.eps >
ForceType application/octet-stream
Header set Content-Disposition attachment
< /Files >
--------------------------------------------------
PHP ошибки
Данный пример - это интересный способ регистрации и отслеживания ошибок, которые могут возникнуть в результате выполнения php файлов. Для начала вам нужно создать файл php_error.log где-нибудь на сервере, и добавить отрывок к .htaccess файлу. Не забывайте изменять местоположение файла системного журнала на строке 7.
--------------------------------------------------
# не отображать ошибки пользователю
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
# записывать в файл
php_flag log_errors on
php_value error_log /location/to/php_error.log
--------------------------------------------------
Удаляем расширения файлов из URL
Расширения файлов могут быть полезными для разработчиков, но нет абсолютно никакой потребности показывать их своим гостям. Этот отрывок удалит отображение расширения .html для всех файлов html. Этот код может быть легко адаптирован и для других расширений, таких как php.
--------------------------------------------------
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
# Заменить html вашими собственными расширениями. К примеру: php, htm, asp
--------------------------------------------------
Запрет на отображения содержимого директории
Если вы используете веб сервер Apache, то наверное заметили, что если в вашем каталоге нет индексного файла, то пользователю отображается список файлов и папок, которые находятся в данном каталоге. Если вы не желаете, чтобы любой мог видеть, какие файлы находятся на вашем сервере, просто добавьте следующий код в своем .htaccess файл.
--------------------------------------------------
Options -Indexes
--------------------------------------------------
Уменьшаем размер страниц, сжимая статические данные
Наверняка вы знаете о возможности отправки сжатых данных посетителям, которые в последствии, будут распакованы клиентом. Этот код определенно вам нужен.
--------------------------------------------------
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
--------------------------------------------------
Автоматическое добавление utf-8 charset к вашим файлам
Чтобы избежать проблемы с отображением символов на странице, вы можете применить следующий трюк. Таким образом, вы гарантируете, что ваши html документы будут всегда отображаться правильно, даже если в файле отсутствует тег < Мета http-equiv = "Content-Type" >
--------------------------------------------------
< FilesMatch "\.(htm|html|css|js)$" >
AddDefaultCharset UTF-8
< /FilesMatch >
--------------------------------------------------
PS: не забываем убирать лишние пробелы
Прежде чем отредактировать ваш .htaccess файл, всегда делайте резервную копию. В случае чего, вы можете восстановить его, если нужно.
Удаление www в url
Часто, с точки зрения SEO, лучше не использовать приставку www в своих URL. Следующий отрывок удалит www из вашего url и переадресует любой url с www к адресу без www.
--------------------------------------------------
RewriteEngine On
RewriteCond %{HTTP_HOST} !^your-site.com$ [NC]
RewriteRule ^(.*)$ http://your-site.com/$1 [L,R=301]
--------------------------------------------------
Предотвращаем хотлинки
Хотлинки – это не очень хорошая практика, которая заключается в использования изображений из другого места на вашем сайте. Когда вы используете хотлинки, трафик идёт не к вам, тем самым вы многое теряете. Конечно же, рано или поздно, вам понадобится что-то с этим делать. Добавьте следующий отрывок к своему.htaccess файлу после замены URL в качестве примера вашим собственным URL.
--------------------------------------------------
RewriteEngine On
#Заменит ?mysite\.com/ на свой url
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#Заменит /images/nohotlink.jpg на другое изображение
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]
--------------------------------------------------
Перенаправляем RSS к WordPress feedburner
Большинство блоггеров использует веб-службу Feedburner, которая сообщает, сколько людей читает ваш блог через подписки. Если вы используете WordPress, то должны переадресовать все сообщения WordPress (rss, atom, и т.д.) к feedburner. Измените строки 2 и 3, и затем приклейте этот код к своему .htaccess файлу.
--------------------------------------------------
< IfModule mod_alias.c >
RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ http://feedburner.com/yourfeed/
RedirectMatch 301 /comments/feed/(atom|rdf|rss|rss2)/?$ http://feedburner.com/yourfeed/
< /IfModule >
--------------------------------------------------
Создание собственных страниц ошибок
Устали от страшных страниц об ошибках на ваших сайтах? Всё, что вам нужно, так это создать парочку красочных html файлов, и вписать следующий код к своему .htaccess:
--------------------------------------------------
ErrorDocument 400 /errors/badrequest.html
ErrorDocument 401 /errors/authreqd.html
ErrorDocument 403 /errors/forbid.html
ErrorDocument 404 /errors/notfound.html
ErrorDocument 500 /errors/serverr.html
--------------------------------------------------
Загрузка файлов со специфическим форматом
Предлагая некоторые файлы на скачку, такие как mp3, eps или xls, вы можете облегчить работу своему веб браузеру и указать напрямую, что с ними нужно делать.
Этот отрывок вызовет загрузку.xls и.eps файлов с вашего сервера.
--------------------------------------------------
< Files *.xls >
ForceType application/octet-stream
Header set Content-Disposition attachment
< /Files >
< Files *.eps >
ForceType application/octet-stream
Header set Content-Disposition attachment
< /Files >
--------------------------------------------------
PHP ошибки
Данный пример - это интересный способ регистрации и отслеживания ошибок, которые могут возникнуть в результате выполнения php файлов. Для начала вам нужно создать файл php_error.log где-нибудь на сервере, и добавить отрывок к .htaccess файлу. Не забывайте изменять местоположение файла системного журнала на строке 7.
--------------------------------------------------
# не отображать ошибки пользователю
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
# записывать в файл
php_flag log_errors on
php_value error_log /location/to/php_error.log
--------------------------------------------------
Удаляем расширения файлов из URL
Расширения файлов могут быть полезными для разработчиков, но нет абсолютно никакой потребности показывать их своим гостям. Этот отрывок удалит отображение расширения .html для всех файлов html. Этот код может быть легко адаптирован и для других расширений, таких как php.
--------------------------------------------------
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
# Заменить html вашими собственными расширениями. К примеру: php, htm, asp
--------------------------------------------------
Запрет на отображения содержимого директории
Если вы используете веб сервер Apache, то наверное заметили, что если в вашем каталоге нет индексного файла, то пользователю отображается список файлов и папок, которые находятся в данном каталоге. Если вы не желаете, чтобы любой мог видеть, какие файлы находятся на вашем сервере, просто добавьте следующий код в своем .htaccess файл.
--------------------------------------------------
Options -Indexes
--------------------------------------------------
Уменьшаем размер страниц, сжимая статические данные
Наверняка вы знаете о возможности отправки сжатых данных посетителям, которые в последствии, будут распакованы клиентом. Этот код определенно вам нужен.
--------------------------------------------------
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
--------------------------------------------------
Автоматическое добавление utf-8 charset к вашим файлам
Чтобы избежать проблемы с отображением символов на странице, вы можете применить следующий трюк. Таким образом, вы гарантируете, что ваши html документы будут всегда отображаться правильно, даже если в файле отсутствует тег < Мета http-equiv = "Content-Type" >
--------------------------------------------------
< FilesMatch "\.(htm|html|css|js)$" >
AddDefaultCharset UTF-8
< /FilesMatch >
--------------------------------------------------
PS: не забываем убирать лишние пробелы
- Печать
- 1 Комментарий
- 2971 Прочтений
Поделиться этой статьей | |
Социальные закладки: | |
URL: | |
BBcode: | |
HTML: |
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
- 5 (Отлично!) - 2 Голоса
Рейтинг доступен только для пользователей.
Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.