В серьезных проектах не обойтись без .htaccess файлов. Будем здесь собирать полезные примеры и приемы.
1. Редирект со всех страниц хоста www.host.com на соответствующие страницы host.com с выдачей кода "301 Moved Permanently "
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.host.com$ [NC]
RewriteRule ^(.*)$ http://host.com/$1 [R=301,L]
RewriteRule ^(.*)$ http://host.com/$1 [R=301,L]
2. Обработка ошибки 404 на страницу page404.html
ErrorDocument 404 /path/page404.html
3. Кэширование статического контента (картинки, javascript, css), например, на 2 недели значительно разгрузит наш сервер, т.к. браузер будет использовать файлы со своего кэша. Сервер будет выдавать в HTTP заголовках что-то типа "Expires: Thu, 01 Dec 2012 09:46:11 GMT"
ExpiresActive on
ExpiresByType text/css "access plus 2 weeks"
ExpiresByType application/x-javascript "access plus 2 weeks"
ExpiresByType image/vnd.microsoft.icon "access plus 4 weeks"
ExpiresByType image/gif "access plus 2 weeks"
4. Кодировка по умолчанию для страниц, отдаваемых сервером
AddDefaultCharset windows-1251 или AddDefaultCharset utf-8
5. Включение сжатия страниц gzip через библиотеку zlib
php_flag zlib.output_compression On
php_value zlib.output_compression_level 5
6. Запрет показа картинок png нашего сайта с другого сайта (хотлинкинг). Сервер проверит по полю реферер, если не наш сайт - отдать "403 Forbidden". Работает не в 100% случаев, т.к. у юзера может быть отключена информация о ссылающейся странице.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?ourhost\.com/.*$ [NC]
RewriteRule .(png)$ - [F]
7. Преобразование URL. Используя регулярные выражения, адрес вида http://site.com/folder/123/45/ преобразуется в вызов скрипта http://site.com/s.php?a=123&b=45
RewriteRule ^folder/([0-9]+)/([0-9]*)/?$ s.php?a=$1&b=$2 [L]
[0-9] числа, [a-z] или [A-Z] - буквы
ExpiresActive on
ExpiresByType text/css "access plus 2 weeks"
ExpiresByType application/x-javascript "access plus 2 weeks"
ExpiresByType image/vnd.microsoft.icon "access plus 4 weeks"
ExpiresByType image/gif "access plus 2 weeks"
4. Кодировка по умолчанию для страниц, отдаваемых сервером
AddDefaultCharset windows-1251 или AddDefaultCharset utf-8
5. Включение сжатия страниц gzip через библиотеку zlib
php_flag zlib.output_compression On
php_value zlib.output_compression_level 5
6. Запрет показа картинок png нашего сайта с другого сайта (хотлинкинг). Сервер проверит по полю реферер, если не наш сайт - отдать "403 Forbidden". Работает не в 100% случаев, т.к. у юзера может быть отключена информация о ссылающейся странице.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?ourhost\.com/.*$ [NC]
RewriteRule .(png)$ - [F]
7. Преобразование URL. Используя регулярные выражения, адрес вида http://site.com/folder/123/45/ преобразуется в вызов скрипта http://site.com/s.php?a=123&b=45
RewriteRule ^folder/([0-9]+)/([0-9]*)/?$ s.php?a=$1&b=$2 [L]
[0-9] числа, [a-z] или [A-Z] - буквы
Комментариев нет:
Отправить комментарий