Некоторые программисты не могут представить себе всю мощь .htaccess. Ниже рассмотрено 17 примеров применения .htaccess, которые могут принести существенную пользу вашему сайту.
Иногда, когда вы используете date или mktime в php. Вы можете получить смешное сообщение о часовом поясе. Один из способов решить эту проблему прописать часовой пояс для вашего сервера в .htaccess. Список поддерживаемых часовых поясов можно посмотреть здесь.
SetEnv TZ Australia/Melbourne
Почему SEO дружественный? Современные поисковые системы обладают возможностью определять 301 редирект и обновлять запись.
Redirect 301 http://www.queness.com/home http://www.queness.com/
Обычно когда вы пытаетесь скачать у вас открывается окно спрашивающее хотите ли вы открыть файл или сохранить и тд. Чтобы избежать этого окна можете использовать следующий код в .htaccess
AddType application/octet-stream .pdf AddType application/octet-stream .zip AddType application/octet-stream .mov
По правилам SEO, должна быть всего одна ссылка указывающая на ваш сайт, либо с www. либо без. Чтобы убрать www в начале адреса, можно воспользоваться следующим кодом
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^www.queness.com [NC] RewriteRule ^(.*)$ http://queness.com/$1 [L,R=301]
Можно создавать страницы для ошибок с любым кодом
ErrorDocument 401 /error/401.php ErrorDocument 403 /error/403.php ErrorDocument 404 /error/404.php ErrorDocument 500 /error/500.php
Увеличьте скорость загрузки вашего сайта благодаря сжатию файлов
# compress text, html, javascript, css, xml: AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript
Кэширование фалов - еще один популярный способ увеличения скорости загрузки страницы
<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$"> Header set Cache-Control "max-age=2592000" </FilesMatch>
# отключение кеширования для скриптов и других динамических файлов <FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$"> Header unset Cache-Control </FilesMatch>
Следующие куски htaccess кода способствуют увеличению уровня безопасности сайта.
Если вам не нравится когда другие сайты ссылаются на файлы расположенные на вашем сайте картинки и т.д., тем самым повышаю нагрузку на ваш сервер. Можете использовать следующий код для предотвращения этого.
RewriteBase / RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www.)?queness.com/.*$ [NC] RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]
Если хотите увеличить безопасность вашего сайта, можете вставить эти несколько строк кода в ваш .htaccess файл это позволит предотвратить взломы по нескольким основным моделям взлома через URL.
RewriteEngine On # proc/self/environ? no way! RewriteCond %{QUERY_STRING} proc/self/environ [OR] # Block out any script trying to set a mosConfig value through the URL RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR] # Block out any script trying to base64_encode crap to send via URL RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR] # Block out any script that includes a <script> tag in URL RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR] # Block out any script trying to set a PHP GLOBALS variable via URL RewriteCond %{QUERY_STRING} GLOBALS(=|[|\%[0-9A-Z]{0,2}) [OR] # Block out any script trying to modify a _REQUEST variable via URL RewriteCond %{QUERY_STRING} _REQUEST(=|[|\%[0-9A-Z]{0,2}) # Send all blocked request to homepage with 403 Forbidden error! RewriteRule ^(.*)$ index.php [F,L]
Следующий код позволит закрыть доступ к .htaccess файлу. Также можете закрыть доступ к любым другим файлам, даже файла по какой то маске
# secure htaccess file <Files .htaccess> order allow,deny deny from all </Files> # prevent viewing of a specific file <Files secretfile.jpg> order allow,deny deny from all </Files> # multiple file types <FilesMatch ".(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$"> Order Allow,Deny Deny from all </FilesMatch>
Вы можете переименовать htaccess файл для закрытия доступа к нему
AccessFileName htacc.ess
Избежание сервером выдачи содержимого папки или наоборот
# disable directory browsing Options All -Indexes # enable directory browsing Options All +Indexes
Можно поменять название индексного файла по умолчанию index.html index.php или index.htm на что нибудь другое
DirectoryIndex business.html
# block visitors referred from indicated domains <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_REFERER} scumbag.com [NC,OR] RewriteCond %{HTTP_REFERER} wormhole.com [NC,OR] RewriteRule .* - [F] </ifModule>
Этот метод позволит заблокировать некоторых ботов посещающих ваш сайт
# block visitors referred from indicated domains <IfModule mod_rewrite.c> SetEnvIfNoCase ^User-Agent$ .*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures) HTTP_SAFE_BADBOT SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT Deny from env=HTTP_SAFE_BADBOT </ifModule>
# secure directory by disabling script execution AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi Options -ExecCGI
Комментарии
2 комментарияasdasd
Круто