- 标题
21个常用的apache .htaccess文件配置技巧分享
- 简介
Apache的.htaccess文件是一种非常有用的文件,它可以帮助你更好地控制网站的访问和功能。在这篇文章中,我们将介绍21个常用的.htaccess文件配置技巧,并给出示例说明。如果你是一个网站管理员,这些技巧将帮助你更好地管理你的网站。
- 常用的.htaccess文件配置技巧
以下是21个常用的.htaccess文件配置技巧:
3.1. 禁止访问特定的IP地址
使用以下代码可以禁止特定的IP地址访问你的网站:
deny from 123.456.789.0
3.2. 强制使用HTTPS连接
使用以下代码可以强制使用HTTPS连接:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
3.3. 设置默认的主页
使用以下代码可以设置默认的主页:
DirectoryIndex index.html index.php
3.4. 禁用目录列表
使用以下代码可以禁用目录列表:
Options -Indexes
3.5. 自定义404错误页面
使用以下代码可以自定义404错误页面:
ErrorDocument 404 /404.html
3.6. 禁止访问特定文件类型
使用以下代码可以禁止访问特定文件类型:
<FilesMatch "\.(htaccess|htpasswd|ini|phps|fla|psd|log|sh|inc|swp|dist)|(.~)$">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>
3.7. 禁止外部链接到图片
使用以下代码可以禁止外部链接到图片:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]
3.8. 禁用服务器签名
使用以下代码可以禁用服务器签名:
ServerSignature Off
3.9. 防止目录遍历攻击
使用以下代码可以防止目录遍历攻击:
RewriteRule ^\. - [F]
3.10. 禁止访问特定的用户代理
使用以下代码可以禁止访问特定的用户代理:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR]
RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]
RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]
RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]
RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR]
RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR]
RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]
RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR]
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro
RewriteRule ^.* - [F,L]
3.11. 禁止访问特定的HTTP方法
使用以下代码可以禁止访问特定的HTTP方法:
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule ^(.*)$ - [F,L]
3.12. 压缩输出内容
使用以下代码可以压缩输出内容:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
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
3.13. 禁止访问备份和临时文件
使用以下代码可以禁止访问备份和临时文件:
RewriteRule "(^|/)\.(bak|config|sql|fla|psd|ini|log|sh|inc|swp|dist)|(.~)$" - [F]
3.14. 设置文件的缓存时间
使用以下代码可以设置文件的缓存时间:
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault "access plus 1 week"
</IfModule>
3.15. 禁止目录访问
使用以下代码可以禁止目录访问:
Options -Indexes
3.16. 防止跨站脚本攻击
使用以下代码可以防止跨站脚本攻击:
Header set X-XSS-Protection "1; mode=block"
3.17. 禁用蜘蛛和爬虫
使用以下代码可以禁用蜘蛛和爬虫:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (Googlebot|bingbot|Baidu|Yahoo|Yandex|Sogou|Sosospider) [NC]
RewriteRule .* - [F,L]
3.18. 启用Gzip压缩
使用以下代码可以启用Gzip压缩:
<IfModule mod_deflate.c>
<FilesMatch "\.(js|css|html|php)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>
3.19. 跳转到带有www的URL
使用以下代码可以跳转到带有www的URL:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
3.20. 禁止访问隐藏的文件
使用以下代码可以禁止访问隐藏的文件:
<FilesMatch "^\.">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>
3.21. 禁止访问特定的URL
使用以下代码可以禁止访问特定的URL:
RewriteEngine On
RewriteRule ^/forbidden-url($|/) - [L,F]
- 总结
以上是21个常用的.htaccess文件配置技巧和示例说明。通过这些技巧,你可以更好地控制和管理你的网站。如果你想了解更多有关.htaccess文件的内容,可以查阅官方文档。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:21个常用的apache .htaccess文件配置技巧分享 - Python技术站