.htaccess文件大全
.htaccess 文件 (Hypertext Access file)是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
.htaccess 文件的打开仅仅需要记事本就可以了,并没有专门的工具,因此也没有一定的图标,很久以来大家对此都是很陌生,相信这篇文章至少会让大家入门。
1、开启网站的图片防盗链功能
如果网站的流量有限,那么图片防盗链是非常必要的。不仅可以减少流量浪费,而且可以减轻服务器负担。开启图片防盗链功能需要在htaccess文件中加入以下代码:
RewriteEngineon
RewriteCond%{HTTP_REFERER}!^$
RewriteCond%{HTTP_REFERER}!^http://(www\.)?allow1.com(/)?.*$[NC]
RewriteCond%{HTTP_REFERER}!^http://(www\.)?allow2.com(/)?.*$[NC]
RewriteRule.*\.(gif|jpg|jpeg|bmp|png)$[R,NC,L]
上面的代码中,allow1.com与allow2.com分别是允许访问网站图片的域名,后面的baidu.com则是替换成的目标图片地址。上面还包含了图片文件的后缀参数,可以自行更改。如果通过htaccess在线生成器生成此段代码,仅仅需要填写几个允许访问的域名(不带www与http),然后再填写好准备替换的图片地址。
2、自定义404、500等错误返回页
如果你不希望网站在找不到网页的时候出现“404该页无法显示”,就试试自己定义一个找不到网页的出错页面吧!需要在htaccess文件中加入
ErrorDocument404/404.htm
前面的404是其错误代号,后面的/404.htm是自己定义的404页面的路径。需要注意的是,如果这个404页面的大小小于512B,则IE会忽略此页面,也就不会生效了。后面的参数需要使用网站相对路径。在htaccess在线生成程序中,请切换到“自定义错误页面”选项卡,然后在“404(未找到)”后面的输入框中输入你的错误页面地址即可。在线生成工具还可以处理其它类型的错误,以此类推即可。请预先将404错误页面制作好上传到网站目录。
3、首先是屏蔽网站目录列表
目录列表是在网站找不到默认文件时的应急措施,服务器将毫无保留的返回一个当前目录下的所有文件。这将给网站带来非常大的安全隐患。因此,现在很多程序都会在任何子目录下面放一个index.htm文件来避免这种疏漏。但是,通过htaccess文件我们可以彻底的解决这个问题。
在文件中加入以下代码:
Options-Indexes
这将彻底关闭网站的目录列表功能,但对于网站的正常访问是没有任何影响的。如果想显示文件列表,则只需要将“-”更改为“+”。如果使用htaccess在线生成工具,只需要把“是否在没有默认文档的目录显示文件列表”菜单选择成“隐藏”即可,程序将自动生成相关代码。
4、最复杂的WWW统一网址格式与重定向了
在SEO的观点里认为,如果***.com与www.***.com都能访问,这对于搜索引擎来说是个非常不好的体验,也很容易造成权重分散。而我们要做的就是将带www的网址与不带www的网址进行统一。
我们不建议手动编写该段代码,自动生成程序已经做了完善的判断,你只需要切换到“WWW域名重定向”选项卡,在WWW域名重定向后面的地址栏中填入你希望最终使用的域名即可!注意,此处填写的域名必须为完整网址,比如http://www.xxxx.org或者http://xxxx.org。程序将根据您的输入自动判断使用正重定向还是逆重定向。
5、默认文档不对口很恼火,还得做一个跳转页面
有些虚拟主机就是另类,不适用默认的文件名,或顺序非主流。那么通过以下的代码就可以自己定义这个页面的文件名了。比如index.htm、default.php等等:
DirectoryIndexindex.php
这行代码将index.php作为默认首页。其他页面请直接替换例子中的index.php。如果网站有多个页面需要作为首页,请按照DirectoryIndexindex.phpindex2.php的格式编写文件。此项设置在htaccess生成器中,仅仅需要你依次填入首页的文件名即可,非常方便。
6、通过htaccess开启网站图片缓存
某些虚拟主机限制了网站的流量,如果浏览器每次都从服务器下载最常用的图片文件,将会浪费大量的带宽。因此可以开启图片缓存,浏览器在缓存过期前将会自动从缓存区载入图片文件。此功能在文件中加入以下代码:
<FilesMatch“.(gif|jpg|jpeg|png|ico)$”>
HeadersetCache-Control“max-age=3600″
</FilesMatch>
需要注意的是,上面的3600单位为秒,即超时时间,上图中的gif等为图片文件后缀,表示对这些文件生效。如果使用自动生成工具,为了开启此选项,请将“开启站点的图片缓存”选项卡选择一个超时时间。目前有十分钟、一小时、一天等选项可供设置。
7、固定301、302网页重定向
由于页面转移位置造成的404错误是我们大家都非常头痛的问题,但我们只需要做一个301的重定向就会完全解决这个问题了。在htaccess文件中加入以下代码:
Redirectpermanent/old.htmhttp://www.***.com/new.htm
前面一个参数使用相对路径,也可以使用目录名,后一个参数必须填写完整网址。这样才能生效,并且不出错误。在SEO中,搜索引擎也很快就会按照你的设置,将收录的网页更新。
此外,htaccess还可以实现比如MIME文件类型修改、域名重定向等功能,因此,能充分利用好该文件将能让你的网站建设更加得心应手。
8、阻止 User Agent 的所有请求
## .htaccess Code :: BEGIN
## Block Bad Bots by user-Agent
SetEnvIfNoCase user-Agent ^FrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Java.* [NC,OR]
SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR]
SetEnvIfNoCase user-Agent ^MSFrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR]
SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR]
SetEnvIfNoCase user-Agent ^Zeus [NC]
Order Allow,Deny
Allow from all
Deny from env=bad_bot
## .htaccess Code :: END
9、把某些特殊的IP地址的请求重定向到别的站点
ErrorDocument 403 http://www.dingseo.com.cn
Order deny,allow
Deny from all
Allow from ip
Allow from ip
10、直接找开文件而不是下载 – 通常,我们打开网上文件的时候总是会出现一个对话框问我们是下载还是直接打开,使用下面的设置就不会出现这个问题了,直接打开。
AddType application/octet-stream .pdf
AddType application/octet-stream .zip
AddType application/octet-stream .mov
11、修改文件类型 – 下面的示例可以让任何的文件都成为PHP那么被服务器解释。比如:myphp, cgi,phtml等。
ForceType application/x-httpd-php
SetHandler application/x-httpd-php
12、阻止存取.htaccess 文件
# secure htaccess file
order allow,deny
deny from all
13、保护服务器上的文件被存取
# prevent access of a certain file order allow,deny
deny from all
14、阻止目录浏览
# disable directory browsing
Options All -Indexes
15、设置默认主页
# serve alternate default index page
DirectoryIndex about.html
16、口令认证 – 你可以创建一个文件用于认证。下面是一个示例:
# to protect a file
AuthType Basic
AuthName “Prompt”
AuthUserFile /home/path/.htpasswd
Require valid-user
# password-protect a directory
resides
AuthType basic
AuthName “This directory is protected”
AuthUserFile /home/path/.htpasswd
AuthGroupFile /dev/null
Require valid-user
17、把老的域名转像新的域名
# redirect from old domain to new domain
RewriteEngine On
RewriteRule ^(.*)$ http://www.dingseo.com.cn/$1 [R=301,L]
18、防止别人的域名解析到自己的独立IP
RewriteEngine On
RewriteCond %{HTTP_HOST} !(^www\.aaaa\.com$) [NC]
RewriteRule ^(.*)$ http://www.dingseo.com.cn/$1 [L,R=301]
原创文章如转载,请注明:转载自常州SEO-网站推广优化-iitding
原文地址:http://www.dingseo.com.cn/post/htaccess-daquan.html