./comments
./contacts telegram: @stikname
email: ;

12 полезных трюков в .htaccess

Советы и рекомендации
Подборка из 12 настроек для .htaccess


Файл .htaccess — невероятно полезный файл, функционал которого имеет массу возможностей. Как защитить контент , как сделать редирект с одной страницы или домена на другой и как сделать кеширование страницы.

Ограничение доступа к контенту.
Если вам не нравится, что ваши картинки используется другими сайтами.
Options +FollowSymlinks
RewriteEngine On
RewriteCond % !^$
RewriteCond % !^http://(www.)?domainname.com/ [nc]
RewriteRule .*.(gif|jpg|png)$ http://site.com/images/error.jpg[nc]


Редирект 301.
Чтобы перенаправить посетителя с одной страницы (домена) без ущерба для поисковых роботов.
Redirect 301 /page.html http://www.site.com/folder/page.html


Свои страницы с ошибками.
К примеру если надо перенаправить посетителя попавшего на несуществующую страницу.
ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php


Защита файлов.
Например защитить ваш файл с настройками от просмотра, вдруг php упадет и файл откроется как .txt
<Files config.php>
order allow,deny
deny from all
</Files>

Перенос на новый домен.
RewriteEngine On
RewriteRule ^(.*)$ http://www.site.com/ [R=301,L]

Кеширование.
Код кеширует посещённые страницы, снижая время загрузки. 86400 — количество секунд, меняйте на своё усмотрение.
FileETag MTime Size
ExpiresActive on
ExpiresDefault "access plus 86400 seconds"


GZip сжатие.
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

Работает только на Apache

Запрет просмотра папок.
Options All -Indexes

Если вместо - поставить + будет обратное действие.

Удалить расширение файла из URL.
Удаляем расширение .html с конца адреса страницы.
RewriteRule ^(([^/]+/)*[^.]+)$ /.html [L]


Заменить расширение файла в УРЛ.
html на php
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)\.php$ $1.html [L]

NC — no case — не различать в урлах прописные и строчные буквы.
L — last — после этой директивы дальнейший анализ директив RewriteRule останавливается и прочие директивы не исполняются

Делаем ЧПУ адрес из обычного.
Например, из catalog.php?name=samsung&id=7 на catalog/samsung/7.html
RewriteEngine on
RewriteRule ^catalog/([a-zA-Z0-9_-]+)/([0-9]+)\.html$ catalog.php?name=$1&id=$2


Убрать www из домена.
RewriteEngine on
Options +FollowSymLinks
RewriteCond % ^www\.site\.com$ [NC]
RewriteRule ^(.*)$ http://site.com/$1 [R=301,L]
23.02.2013 02:52:23
admin
8256
3
Комментарии

Субербан
23.03.2013 12:59:01
спасибо
ы
29.11.2016 17:25:40
Круто!!!
1212
10.02.2017 15:13:16
ке5ее