Apache .htaccess文件基本用法
来源:互联网 发布:小智外设店 淘宝 编辑:程序博客网 时间:2024/04/29 05:53
1.为什么要使用.htaccess?
很多网站都是租用服务器和虚拟主机的,其服务器的配置并不能修改。当我们有特殊需求时,就要通过配置apache配置的扩展配置文件.htaccess文件来实现。可以实现比如:自定义错误页面、禁止目录被浏览、地址重定向、目录保护、改变默认首页索引、防止网站图片盗链等需求。
2.使用.htaccess的条件
要在服务器上使用.htaccess文件配置,必须要求服务器开通对于的支持。两个条件:
1.模块开启mod_rewrite
2.AllowOverride All
3.要使用.htaccess,apache下http.conf该如何配置
需要改两个地方:
1.将工作目录下的AllowOverride None 改为AllowOverride All。
2.开启.mod_rewrite模块(#去掉)。
#LoadModule rewrite_module modules/mod_rewrite.so
4.htaccess常用配置写法
4.1.自定义错误页面
写法:ErrorDocument 错误代码 空格 /目录名/文件名.扩展名
例子:
ErrorDocument 404 /404.htmlErrorDocument 500 /help/errors/internalerror.html
4.2.禁止/允许目录被浏览
写法:IndexIgnore /
有些服务器本身就已经禁止了目录被浏览并会提示。如果开始调试时,想要开通此功能,只需要添加一句:
写法:
Options +Indexes
4.3.页面重定向
写法1:
Redirect permanent [old directory or file name][空格][new directory or file name]
其中permanent(永久)是为了告诉搜索引擎,老的链接已经移到新链接了。
写法2:Redirect /旧页面地址[空格]新页面的地址
例子:
Redirect permanent /oldhtmlfile.htm http://your-domain.com/newhtmlfile.htm
4.4.改变默认首页
DirectoryIndex homapage.html somepage.html myindexpage.html
4.5.防止网页图片被盗连
写法:
RewriteEngine onRewriteCond %{HTTP_REFERER} !^$RewriteCond %{HTTP_REFERER} !^http://(www\.)?your-domain.com/.*$ [NC]RewriteRule .(gif|jpg)$ - [F]
或者别人盗链时显示自己的提示图片
RewriteEngine onRewriteCond % !^$RewriteCond % !^http://(www/.)?域名.com/.*$ [NC]RewriteRule /.(gif|jpg)$ http://www.域名.com/替代图片文件名 [R,L]
4.6.缓存文件
缓存文件是提高网站访问速度方法之一。
<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>
4.7.保护你的 htaccess 文件
<Files .htaccess> order allow,deny deny from all </Files>
5.使用.htaccess存在的问题
1.性能问题
AllowOverride启用了.htaccess文件,apache服务器需要在每个目录中查找.htaccess文件。因此会导致性能下降。另外对每一个请求,都需要读取一次.htaccess文件,还有 apache必须在所有上级的目录中查找.htaccess文件以使有效的指令都起作用。
例如:如果客户端请求/www/htdocs/help中的页面。服务器必须查找以下四个额外文件,即使文件不存在。
/.htaccess
/www/.htaccess
/www/htdocs/.htaccess
/www/htdocs/help/.htaccess
当然你可以仅仅允许根目录使用.htaccess文件,即目录深度越深,则访问的额外文件越多,性能越低。
2、安全问题
由于项目根目录下的.htaccess文件与主配置文件中的配置指令完全等效,那么这样就有可能带来服务器安全问题。这样你就必须考虑是否设置AllowOverride None来完全禁用.htaccess文件。
- Apache .htaccess文件基本用法
- Apache .htaccess文件
- Apache中的.htaccess文件
- 详解Apache下.htaccess文件的8个用法
- .htaccess文件用法
- Htaccess文件用法集锦
- Htaccess文件用法集锦
- Htaccess文件用法集锦
- Htaccess文件用法集锦
- Apache指南: .htaccess文件使用手册
- Apache中.htaccess文件功能
- apache .htaccess文件保护方法
- apache .htaccess文件的语法
- htaccess文件用法收集整理
- apache-.htaccess重写文件文件读取限制
- apache使用.htaccess文件实现用户认证
- Apache的.htaccess文件增加用户认证
- apache中.htaccess文件的功能写法
- Canvas笔记
- Dll注入技术之远程线程注入
- Experimental Educational Round: VolBIT Formulas Blitz(D)数学
- Android.mk文件分析
- 产品会不停迭代
- Apache .htaccess文件基本用法
- DLL注入技术之依赖可信进程注入
- 同步异步4:CDMA中的同步异步
- 测试例子啊啊啊
- 在Dephi中使用TStream读写数据的技巧
- DLL注入技术之劫持进程创建注入
- JavaScript实现的网页放大镜效果
- Dll注入技术之输入法注入
- Experimental Educational Round: VolBIT Formulas Blitz(F)排列组合