Htaccess文件用法集锦
2010年12月2日 | 发布在 技术技巧 | 没有评论 »
1.时区设置
有些时候,当你在PHP里使用date或mktime函数时,由于时区的不同,它会显示出一些很奇怪的信息。下面是解决这个问题的方法之一。就是设置你的服务器的时区。你可以在这里找到所有支持的时区的清单。
SetEnv TZ Australia/Melbourne
2. 搜索引擎友好的301永久转向方法
为什么这是搜索引擎友好的呢?因为现在很多现代的搜索引擎都有能根据检查301永久转向来更新它现有的记录的功能。
Redirect 301 http://www.aqee.net/home http://www.aqee.net/
3. 屏蔽下载对话框
通常,当你下载东西的时候,你会看到一个对话框询问你是保持这个文件还是直接打开它。如果你不想看到这个东西,你可以把下面的一段代码放到你的.htaccess文件里。
AddType application/octet-stream .pdf
AddType application/octet-stream .zip
AddType application/octet-stream .mov
4. 省去www前缀
SEO的一个原则是,确保你的网站只有一个URL。因此,你需要把所有的通过www的访问转向的非www,或者反这来。
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.aqee.net [NC]
RewriteRule ^(.*)$ http://aqee.net/$1 [L,R=301]
5. 个性化Error页面
对每个错误代码定制自己个性化的错误页面。
ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php
6. 压缩文件
通过压缩你的文件体积来优化网站的访问速度。
# 压缩 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
7. 缓存文件
缓存文件是另外一个提高你的网站访问速度的好方法。
<FilesMatch “.(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$”>
Header set Cache-Control “max-age=2592000″
</FilesMatch>
8. 对某些文件类型禁止使用缓存
而另一方面,你也可以定制对某些文件类型禁止使用缓存。
# 显式的规定对脚本和其它动态文件禁止使用缓存
<FilesMatch “.(pl|php|cgi|spl|scgi|fcgi)$”>
Header unset Cache-Control
</FilesMatch>
安全问题
下面的htaccess代码能够提高你的web服务器的安全水平。图片链接盗用保护非常有用,它能防止其他人偷盗使用你的服务器上的图片资源。
1. 通过.htaccess放盗链
痛恨那些偷盗链接你的web服务器上的图片资源而耗尽了你的带宽的行为吗?试试这个,你可以防止这种事情的发生。
RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?aqee.net/.*$ [NC]
RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]
2. 防黑客
如果你想提高网站的安全等级,你可以去掉下面的几行代码,这样可以防止一些常见恶意URL匹配的黑客攻击技术。
RewriteEngine On
# proc/self/environ? 没门!
RewriteCond %{QUERY_STRING} proc/self/environ [OR]
# 阻止脚本企图通过URL修改mosConfig值
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# 阻止脚本通过URL传递的base64_encode垃圾信息
RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]
# 阻止在URL含有<script>标记的脚本
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
# 阻止企图通过URL设置PHP的GLOBALS变量的脚本
RewriteCond %{QUERY_STRING} GLOBALS(=|[|\%[0-9A-Z]{0,2}) [OR]
# 阻止企图通过URL设置PHP的_REQUEST变量的脚本
RewriteCond %{QUERY_STRING} _REQUEST(=|[|\%[0-9A-Z]{0,2})
# 把所有被阻止的请求转向到403禁止提示页面!
RewriteRule ^(.*)$ index.php [F,L]
3. 阻止访问你的 .htaccess 文件
下面的代码可以阻止别人访问你的.htaccess文件。同样,你也可以设定阻止多种文件类型。
# 保护你的 htaccess 文件
<Files .htaccess>
order allow,deny
deny from all
</Files>
# 阻止查看指定的文件
<Files secretfile.jpg>
order allow,deny
deny from all
</Files>
# 多种文件类型
<FilesMatch “.(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$”>
Order Allow,Deny
Deny from all
</FilesMatch>
4. 重命名 htaccess 文件
你可以通过重命名htaccess文件来对其进行保护。
AccessFileName htacc.ess
5. 禁止目录浏览
禁止服务器对外显示目录结构,反之亦然。
# 禁止目录浏览
Options All -Indexes
# 开放目录浏览
Options All +Indexes
6. 改变缺省的Index页面
你可以把缺省的 index.html, index.php 或 index.htm 改成其它页面。
DirectoryIndex business.html
7. 通过引用信息来阻止某些不欢迎的浏览者
# 阻止来自某网站的用户
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} scumbag.com [NC,OR]
RewriteCond %{HTTP_REFERER} wormhole.com [NC,OR]
RewriteRule .* - [F]
</ifModule>
8. 通过判断浏览器头信息来阻止某些请求
这个方法可以通过阻止某些机器人或蜘蛛爬虫抓取你的网站来节省你的带宽流量。
# 阻止来自某些特定网站的用户
<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>
9. 禁止脚本执行,加强你的目录安全
# 禁止某些目录里的脚本执行权限
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
Options -ExecCGI
[英文出处]:Link
[译文来源]:外刊IT评论
http://www.aqee.net/2010/12/02/htaccess-usage/
分享到:
相关推荐
本文将深入探讨`.htaccess`文件的使用方法及其对网站的积极影响,帮助读者掌握这一关键技能。 #### .htaccess文件简介与功能 `.htaccess`文件,虽然只是一个文本文件,但其能力却不可小觑。它可以改变服务器的设置...
下面将详细介绍如何开启.htaccess 文件的使用方法。 一、开启.htaccess 文件的使用方法 1. 打开 Apache 的配置文件 httpd.conf,通常位于 Apache 目录的 conf 目录下。 2. 在 httpd.conf 文件中,查找以下两行代码...
.htaccess 文件在文件上传中的使用 .htaccess 文件是一种 Apache 服务器下的配置文件,可以设置服务器解析文件的格式。通过在特定的文档目录中放置一个包含一个或多个指令的文件,以作用于当前目录及其所有子目录。...
.htaccess文件的配置方法是在文件中添加相关的指令,例如Options Indexes FollowSymLinks AllowOverride All,这将启用目录浏览和符号链接功能,并允许在当前目录下使用.htaccess文件。然后,在.htaccess文件中添加...
绕过黑名单验证是一种常见的攻击技术,攻击者可以使用各种方法来绕过黑名单验证,例如上传 .htaccess 文件、使用 phpinfo 探针、使用其他类型的文件等。因此,在 Web 应用程序安全中,需要格外小心地配置黑名单验证...
首先,.htaccess文件的主要作用是当用户无法直接编辑服务器的主配置文件httpd.conf时,提供了一种在目录级别进行配置的方法。例如,它能用来控制目录访问权限、URL重写、错误页面定制等。然而,如果服务器未正确配置...
对于不熟悉Apache配置语法的用户,使用htaccess文件在线生成器是一种高效的方法。这些生成器通常提供友好的图形界面,让用户可以通过简单的选项选择,自动生成相应的配置代码。例如,你可以选择需要的功能,如URL...
1. 在需要使用.htaccess文件的目录下新建一个.htaccess文件, 如本人的一个Discuz论坛目录: 代码如下:vim /var/www/html/168pc/bbs/.htaccess 2. 在里面输入规则,我这里输入Discuz的伪静态规则: 代码如下: # ...
.htaccess 文件是一种非常重要的配置文件,尤其在使用 Apache Web 服务器时。它允许用户在没有直接访问服务器全局配置文件的情况下,对特定目录下的 Web 配置进行个性化设置。这对于虚拟主机环境尤其有用,因为它...
网站通常由多个组件构成,其中一些关键组件如服务器配置文件(如Apache服务器中的.htaccess文件)的不当使用可能会导致严重的安全漏洞。本文档所描述的是一种通过.htaccess文件实施的上传攻击。通过此方法,攻击者...
## (把这个改成你.htaccess文件的具体位置) } ``` Step 4: 重启 Nginx 重启 Nginx 服务,以便生效新的配置文件。 使用 Nginx 支持 .htaccess 伪静态 Rewrite 的方法可以实现 URL 重写,提高网站的访问速度和用户...
包含了中国所有的IP段, 包括各地网通, 电信, 移动, 铁通, 教育网, 以及广电运营商, 公司自...使用方法很简单, Apache环境下利用.htaccess的命令deny, 你可以使用整理好的.htaccess文件, 然后放到你的网站根目录下即可.
`.htaccess`文件通常在Unix或Linux系统中使用,但并非所有服务器都支持。在启用`.htaccess`前,需要在Apache的主配置文件`httpd.conf`中开启`AllowOverride`选项,并根据需求限制可使用的指令。 1. **创建`....
生成密码文件的方法是使用`htpasswd`命令,首次生成时需要创建密码文件,后续可以添加新用户到现有文件中。 #### 四、启用SSI(Server Side Includes) SSI是一种简单的服务器端脚本语言,用于将静态HTML页面中...
这篇文章主要涵盖了 .htaccess 文件的基础知识、启用方法、访问控制、URL 重写、错误页面配置以及一些常用的命令和配置技巧。 1. **.htaccess 基本作用**: .htaccess 是一个纯文本文件,用于存放Apache服务器的...
最完的htaccess文件用法收集,这篇文章确实很详细,需要的朋友可以参考下
1. 使用场景:对于不熟悉 Apache 配置语法的用户,htaccessEditor 提供了直观的界面,方便生成或编辑 .htaccess 文件。 2. 功能特性: - 简洁界面:提供各种配置选项,用户只需填写参数,无需理解复杂指令。 - ...
工作原理和使用方法: `.htaccess` 文件允许你不在全局服务器配置文件(如 `httpd.conf`)中修改设置,而是直接在特定目录下创建一个包含指令的文件。这些指令将适用于该目录及其所有子目录。启用 `.htaccess` 功能...
Apache 服务器使用 .htaccess 文件进行配置,该文件位于网站的根目录或子目录中,用于定义如何处理该目录下的请求。 在 Laravel 中,默认情况下,所有入口文件(如 public/index.php)都被放置在 public 目录下。...
在本文中,我们将通过一个实例来讲解如何使用.htaccess文件实现子目录绑定二级域名的方法。假设我们有一个域名yourdomain.com,想要在其下创建一个子站bbs.yourdomain.com,并将其绑定到一个名为bbs的子目录中。 ...