- 浏览: 5171633 次
- 性别:
- 来自: 天津
博客专栏
-
实战 Groovy
浏览量:29393
文章分类
- 全部博客 (639)
- 代码之谜 (6)
- JavaScript quirks (5)
- 程序员 (92)
- Java (93)
- BT编程 (7)
- html/css (64)
- Groovy&Grails (42)
- Android (20)
- C/C++ (5)
- PHP/Perl/Python (46)
- 经典文章 (51)
- CodeIgniter (14)
- JQuery (10)
- 笑话 (4)
- 其他 (32)
- javascript (69)
- 云计算 (0)
- html5 (7)
- 面试 (8)
- google (3)
- nosql (2)
- nodejs (11)
- go (5)
- erlang (1)
- 小常识 (3)
- 冷知识 (5)
- database (4)
- web (12)
- 架构 (12)
- Exception (0)
最新评论
-
jqw1992:
https://www.chromefor.com/libra ...
[福利] 开发者必备的 Chrome 插件——ChromeSnifferPlus -
litjerk:
初步算了一下,目前最最精简的Win98版是5M,他5个小时多敲 ...
让人目瞪口呆的三位世界级电脑大师 -
379855529:
。。似乎重点没说NIO啊,前面基础只是铺垫的很好的,可是我要的 ...
Java NIO与IO的详细区别(通俗篇) -
springmvc_springjpa:
spring mvc demo教程源代码下载,地址:http: ...
一步步开发 Spring MVC 应用 -
匡建武:
Good
四个程序员的一天
Apache Web服务器有一个伟大的方式来处理信息,使用htaccess的文件。htaccess文件(超文本的访问)的目录级别的配置文件,允许Web服务器配置的分散管理的默认名称。htaccess文件是放置在Web树,是能够覆盖服务器的全局配置的一个子集,这个子集的程度是由Web服务器管理员定义。。htaccess的最初目的是让每个目录访问控制(例如,需要密码才能访问的内容),因此这个名字。如今的。htaccess可以覆盖许多其他配置设置,主要涉及内容的控制,例如,内容类型和字符集,CGI处理程序,等等。
以下是一些非常有用的htaccess的技巧。 站长百科 PHP教程同步首发
1。自定义目录索引文件
DirectoryIndex index.html index.php index.htm
您的htaccess文件中使用上面的片段,你可以改变默认的索引文件的目录。如果一个用户请求/ foo /中,Apache将服务是/ foo / index.html的,或您指定的任何文件。
2。自定义错误页面
ErrorDocument 404 errors/404.html
您可能希望将用户重定向到一个错误页面是像404的HTTP错误发生。您可以使用htaccess文件中映射的404错误错误页errors/404.html的上面的片段。你也可能想要写一个共同的页面,所有HTTP错误如下:
ErrorDocument 404 /psych/cgi-bin/error/error?404
3。控制在文件和目录级别的访问
htaccess是最常用的限制或拒绝个别文件和文件夹的访问。一个典型的例子是“包括”文件夹。您的网站的网页可以调用这些脚本,所有他们喜欢的,但你不希望用户访问这些文件,直接在网上。在这种情况下,你会下降。htaccess文件,像这样的内容包括夹。
# no one gets in here! deny from all
这将拒绝所有直接访问该文件夹中的任何文件。你可以与你的情况更具体,例如访问限制到一个特定的IP范围,这里有一个方便的顶级本地测试服务器的规则。
# no nasty crackers in here! order deny,allow deny from all allow from 192.168.0.0/24 # this would do the same thing.. #allow from 192.168.0
一般来说,这些要求的各种反弹防火墙无论如何,而是一个活生生的服务器上,他们成为有用过滤掉不受欢迎的IP块,已知的风险,很多事情。
有时候,你只会想禁止一个IP,也许是一些持久的机器人,不按规则玩。
# someone else giving the ruskies a bad name.. order allow,deny deny from 83.222.23.219 allow from all
4。修改环境变量
环境变量包含服务器端所使用的信息,包括和CGI。设置/取消设置环境变量使用SETENV和UnSetEnv。
SetEnv SITE_WEBMASTER "Jack Sprat" SetEnv SITE_WEBMASTER_URI mailto:Jack.Sprat@characterology.com UnSetEnv REMOTE_ADDR
5。301重定向使用htaccess的
如果你想从旧的文件重定向到新:
Redirect 301 /old/file.html http://yourdomain.com/new/file.html
使用以下重定向整个目录。
RedirectMatch 301 /blog(.*) http://yourdomain.com/$1
6。实施计划。htaccess文件高速缓存
缓存的静态文件,并提高您的网站的性能。
# year <FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf|mp3|mp4)$"> Header set Cache-Control "public" Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT" Header unset Last-Modified </FilesMatch> #2 hours <FilesMatch "\.(html|htm|xml|txt|xsl)$"> Header set Cache-Control "max-age=7200, must-revalidate" </FilesMatch> <FilesMatch "\.(js|css)$"> SetOutputFilter DEFLATE Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT" </FilesMatch>
7。使用GZIP压缩输出
下面的代码片断添加到您的htaccess文件和压缩所有的CSS,JS,用gzip压缩的HTML文件。
<IfModule mod_gzip.c> mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^image/.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* </IfModule>
上面的代码工作mod_gzip模块只有在您的Web服务器中启用。如果您的网络服务器提供支持mod_deflate模块,您可能需要添加下面的代码片断。
<Location> SetOutputFilter DEFLATE SetEnvIfNoCase Request_URI \ \.(?:gif|jpe?g|png)$ no-gzip dont-vary SetEnvIfNoCase Request_URI \ \.(?:exe|t?gz|zip|gz2|sit|rar)$ no-gzip dont-vary </Location>
如果您的服务器不支持mod_deflate模块,那么你可能需要使用下面的代码片断。
<FilesMatch "\.(txt|html|htm|php)"> php_value output_handler ob_gzhandler </FilesMatch>
8。浏览器重定向到HTTPS(SSL)
下面的代码片断添加到您的htaccess的和整个网站重定向到HTTPS。
RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
9。重写的URL使用htacccess
重写product.php?ID = 12产品-12.html
RewriteEngine on RewriteRule ^product-([0-9]+)\.html$ product.php?id=$1
的重写product.php?ID = 12至product/ipod-nano/12.html
RewriteEngine on RewriteRule ^product/([a-zA-Z0-9_-]+)/([0-9]+)\.html$ product.php?id=$2
非WWW网址重定向到www的网址
RewriteEngine On RewriteCond %{HTTP_HOST} ^viralpatel\.net$ RewriteRule (.*) http://www.viralpatel.net/$1 [R=301,L]
重写yoursite.com / user.php?用户名= XYZ yoursite.com / XYZ
RewriteEngine On RewriteRule ^([a-zA-Z0-9_-]+)$ user.php?username=$1 RewriteRule ^([a-zA-Z0-9_-]+)/$ user.php?username=$1
域名重定向到新的子文件夹内的public_html
RewriteEngine On RewriteCond %{HTTP_HOST} ^test\.com$ [OR] RewriteCond %{HTTP_HOST} ^www\.test\.com$ RewriteCond %{REQUEST_URI} !^/new/ RewriteRule (.*) /new/$1
10。防止目录列表
添加下面的代码片段,以避免目录列表。
Options -Indexes
或
IndexIgnore *
11。添加新的MIME类型
取决于文件扩展名的文件类型。无法识别的文件扩展名被视为文本数据,并下载损坏。
AddType application/x-endnote-connection enz AddType application/x-endnote-filter enf AddType application/x-spss-savefile sav
12。拒绝访问静态文件数据
如果推荐人是不是本地站点或空否认有任何静态文件(图像,CSS等)的要求。
RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{REQUEST_URI} !^/(wp-login.php|wp-admin/|wp-content/plugins/|wp-includes/).* [NC] RewriteCond %{HTTP_REFERER} !^http://www.askapache.com.*$ [NC] RewriteRule \.(ico|pdf|flv|jpg|jpeg|mp3|mpg|mp4|mov|wav|wmv|png|gif|swf|css|js)$ - [F,NS,L]
13。指定上传htaccess的PHP文件限制
php_value upload_max_filesize 20M php_value post_max_size 20M php_value max_execution_time 200 php_value max_input_time 200
在上面的。htaccess文件,上传能力由四个参数,第一个是最大上传文件大小的增加,第二个是后数据的最大大小,第三个是在几秒钟的时间上限,允许脚本运行之前,它是终止解析器允许一个脚本解析输入数据,如像文件上传,最后一个是在几秒钟内最大的一次,POST和GET数据。
14。禁止脚本执行
Options -ExecCGI AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
15。更改字符集和语言的头文件
AddDefaultCharset UTF-8 DefaultLanguage en-US
16。设置服务器的时区(GMT)
SetEnv TZ America/Indianapolis
17。力“的文件另存为”提示“
AddType application/octet-stream .avi .mpg .mov .pdf .xls .mp4
18。一个单一的文件保护
通常情况下的。htaccess适用于整个目录。随着 指令,你可以限制到特定的文件:
<Files quiz.html> order deny,allow deny from all AuthType Basic AuthName "Characterology Student Authcate" AuthLDAP on AuthLDAPServer ldap://directory.characterology.com/ AuthLDAPBase "ou=Student, o=Characterology University, c=au" require valid-user satisfy any </Files>
19。使用htaccess的设置cookie
设置环境变量的Cookie
Header set Set-Cookie "language=%{lang}e; path=/;" env=lang
基于请求设置的Cookie。此代码将创建在客户端上的Cookie,在第二个括号匹配项的值的Set-Cookie头。
RewriteEngine On RewriteBase / RewriteRule ^(.*)(de|es|fr|it|ja|ru|en)/$ - [co=lang:$2:.yourserver.com:7200:/]
20。寄自定义页眉
Header set P3P "policyref=\"http://www.askapache.com/w3c/p3p.xml\"" Header set X-Pingback "http://www.askapache.com/xmlrpc.php" Header set Content-Language "en-US" Header set Vary "Accept-Encoding"
21。根据User-Agent头阻塞请求
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
评论
发表评论
-
JSON API 1.0 核心开发者自述 | 你所不知道的那些技术细节
2015-07-16 14:15 15412013年5月,Yehuda Katz 完 ... -
强强联合:FluxBB 作者加盟 Flarum
2015-03-18 09:36 1760原文:FluxBB Joins Forces With Fl ... -
基于单个 div 的 CSS 绘图
2015-01-04 12:38 88078原文: Single Div Drawings with C ... -
PHP 最佳实践(译)——PHP 容易混淆技术的实用指南
2013-06-09 11:11 4015在网上看到一篇文章,PHP Best Practices- ... -
「译」在 python 中,如果 x 是 list,为什么 x += "ha" 可以运行,而 x = x + "ha" 却抛出异常呢?
2013-03-12 09:11 3356问题 众所周知,在 python 中,+ 运算 ... -
python: extend (扩展) 与 append (追加) 的差别
2013-03-12 08:59 47117>>> li = ['a', 'b' ... -
web.py 0.3 新手指南 - 多数据库使用
2013-01-26 08:11 1677问题 如何在单独项目中应用多数据库? 解决办法 we ... -
web.py 0.3 新手指南 - 使用db.query进行高级数据库查询
2013-01-26 08:11 5437问题: 您要执行的SQL语句如:高级的联接或计数。 解 ... -
web.py 0.3 新手指南 - RESTful doctesting using app.request
2013-01-26 08:11 2630!/usr/bin/env python "& ... -
web.py 0.3 新手指南 - 实时语言切换
2013-01-26 08:11 1953实时语言切换 问题: 如何实现实时语言切换? 解法: ... -
web.py 0.3 新手指南 - db.select 查询
2013-01-25 12:38 3992问题: 怎样执行数据库查询? 解决方案: 如果是0. ... -
web.py 0.3 新手指南 - 发送邮件
2013-01-25 12:38 1810问题 在web.py中,如何发送邮件? 解法 在 ... -
web.py 0.3 新手指南 - 如何用Gmail发送邮件
2013-01-25 12:38 3466问题 如何用Gmail发送邮件? 解法 安装和维护邮 ... -
web.py 0.3 新手指南 - 在template中使用session
2013-01-25 12:37 1592问题: 我想在模板中使用session(比如:读取并显示 ... -
web.py 0.3 新手指南 - 在调试模式下使用session
2013-01-25 12:37 1499问题 如何在调试模式下使用session? 解法 ... -
web.py 0.3 新手指南 - Sessions
2013-01-24 12:42 2306问题 如何在web.py中使用session 解法 注 ... -
web.py 0.3 新手指南 - 在子应用下使用session
2013-01-24 12:42 1787提示 这个解决方案是 ... -
web.py 0.3 新手指南 - 模板系统
2013-01-24 12:40 5965Introduction web.py 的模板语言叫做 T ... -
web.py 0.3 新手指南 - 安装
2013-01-24 12:40 3734Summary 安装 开发 产品 Light ... -
web.py 0.3 新手指南 - FAQ
2013-01-24 12:39 2195如何使用template.py模 ...
相关推荐
除了上述内容外,还可以参考以下文章进一步学习和了解 .htaccess 的使用技巧和案例: - **网址规范化之通用 URL 重写规则**:详细介绍了如何通过 URL 重写实现网址规范化。 - **解决 Addon 域名可用主域名的子目录...
htaccess
《htaccess_Editor:探索与理解HTACCESS编辑器的奥秘》 在互联网的世界里,配置网站的安全性和功能往往离不开一个看似不起眼但至关重要的文件——`.htaccess`。`.htaccess`(分布式配置文件)是Apache服务器配置的...
总的来说,`.htaccess` 文件是Web服务器配置中一个非常实用的工具,它提供了灵活的权限管理和功能扩展能力,对于网站管理和优化具有重要的作用。通过熟练掌握 `.htaccess` 文件的用法,可以有效地调整服务器行为,...
一个用来操作apache的.htaccess文件的类 它可以帮您处理Apache服务器的.htaccess文件。 您并不需要去了解.htaccess的语法,这个类会帮你搞定一些譬如修改权限、增加使用者的操作.
#### 一、概述与基础属性 `htaccess`是Apache服务器配置文件之一,位于网站根目录下,主要负责处理网站的URL重写、密码保护、错误页面自定义等高级功能。其文件名以`.`开头,表明这是一个隐藏文件。权限属性为644...
本文将深入探讨`.htaccess`文件的使用方法及其对网站的积极影响,帮助读者掌握这一关键技能。 #### .htaccess文件简介与功能 `.htaccess`文件,虽然只是一个文本文件,但其能力却不可小觑。它可以改变服务器的设置...
.htaccess伪静态 适用方维分享系统以及其他php
《PHP实例开发:htaccess Editor与htaccess在线生成器详解》 在Web开发领域,PHP是一种广泛应用的服务器端脚本语言,尤其在处理动态网页内容和服务器配置方面扮演着重要角色。而.htaccess(分布式配置文件)是...
Nginx 支持 .htaccess 伪静态 Rewrite 的方法 Nginx 是一款流行的 Web 服务器软件,广泛应用于网站建设和开发中。随着网站的发展,URL 重写(Rewrite)已经成为一种必不可少的技术手段。.htaccess 文件是 Apache ...
强化Wordpress安全的.Htaccess设定的11个技巧.doc
由于这种灵活性,.htaccess文件在网站配置中非常重要。 在此次攻击中,攻击者通过创建一个特别配置的.htaccess文件,使得所有包含特定字符串(本例为“yueyan”)的文件被作为PHP脚本执行。其核心在于配置指令和...
ThinkPHP的去除URL中的index.php的.htaccess文件
【htaccess文件基础概念】 .htaccess(分布式配置文件)是Apache服务器中的一个配置文件,它允许用户通过在网站根目录下创建此文件,对网站进行一些定制化的设置,而无需直接修改服务器的主配置文件。这使得网站...
Apache开启.htaccess及.htaccess的使用方法 Apache 的.htaccess 文件是一种基于目录的配置文件,可以对特定的目录或子目录进行配置。通过修改 Apache 的配置文件 httpd.conf,可以开启.htaccess 文件的使用。下面...
zencart .htaccess
htaccess 文件下载