说到 .htacccess文件很多站长应该都不陌生吧?{:soso__7057751023027784434_2:}
.htacccess文件对于网站的作用可以说是非常之大~~~~大到什么程度呢?这里暂且不说。
哈哈,跑题了。教程开始:
1,网址重定向。
⑴主域名重定向- RewriteEngine On
- RewriteCond %{HTTP_HOST} !^yourname.com$ [NC]
- RewriteRule ^(.*)$ http://yourname.com/$1 [L,R=301]
复制代码
这种重定向旨在使域名唯一,是网站SEO必须要做的,后面重定向www.yourname.com到yourname.com也是出于同样的原因,只是形式不同,但此方法可让域名的权重更加集中。
⑵将所有请求都重定向到指定域名
- RewriteEngine On
- RewriteBase /
- RewriteCond %{REQUEST_URI} ^.*[ DISCUZ_CODE_145 ]nbsp;
- RewriteRule ^.*$ http:/yourname.com [R=301,L]
复制代码
⑶密码保护
使用.htaccess进行密码保护 尽管有各种各样的.htaccess用法,个人认为最有用之一就是用它来设置网站目录的密码保护。尽管JavaScrip等也能做到,但只有.htaccess具有完美的安全性(即访问者必须知晓密码才可以访问目录,并且绝无“后门”可走)。 - 利用.htaccess将一个目录加上密码保护分两个步骤。第一步是在你的.htaccess文件中插入如下代码,再将.htaccess文档放进你要保护的目录下:
- AuthName “Section Name” #用户名 AuthType Basic #认证方式
- AuthUserFile /full/path/to/.htpasswd #密码文件
- Require valid-user
复制代码
⑷配置.htaccess 自定义错误页 我要介绍的.htaccess的第一个应用是自定义错误页面,这将使你可以拥有自己的、个性化的错误页面(例如找不到文件时),而不是你的服务商提供的错误页或没有任何页面。这会让你的网站在出错的时候看上去更专业。你还可以利用脚本程序在发生错误的时候通知你(例如我使用Free Webmaster Help的PHP脚本程序,当找不到页面的时候自动e-mail给我)。 你所知道的任何页面错误代码(像404找不到页面),都可以通过在.htaccess文件里加入下面的文字将其变成自定义页面: ErrorDocument errornumber /file.html 举例来说,如果我的根目录下有一个nofound.html文件,我想使用它作为404 error的页面: ErrorDocument 404 /notfound.html 如果文件不在网站的根目录下,你只需要把路径设置为: ErrorDocument 500 /errorpages/500.html 以下是一些最常用的错误: 常用的客户端请求错误返回代码: 400 - Bad request 错误请求
401 Authorization Required需要验证
403 Forbidden禁止
404 Not Found找不到页面
405 Method Not Allowed
408 Request Timed Out
411 Content Length Required
412 Precondition Failed
413 Request Entity Too Long
414 Request URI Too Long
415 Unsupported Media Type
常见的服务器错误返回代码: 500 Internal Server Error内部服务器错误 接下来,你要做的只是创建一个错误发生时显示的文件,然后把它们和.htaccess一起上传。 用户可以利用.htaccess指定自己事先制作好的错误提醒页面。一般情况下,人们可以专门设立一个目录,例如errors放置这些页面。然后再.htaccess中,加入如下的指令: ErrorDocument 404 /errors/notfound.html
ErrorDocument 500 /errors/internalerror.html 一条指令一行。上述第一条指令的意思是对于404,也就是没有找到所需要的文档的时候得显示页面为/errors目录下的notfound.html页面。不难看出语法格式为: ErrorDocument 错误代码 /目录名/文件名.扩展名 如果所需要提示的信息很少的话,不必专门制作页面,直接在指令中使用HTML号了,例如下面这个例子: ErrorDocument 401 “你没有权限访问该页面,请放弃!”
⑸配置 .htaccess 停示显示目录列表 有些时候,由于某种原因,你的目录里没有index文件,这意味着当有人在浏览器地址栏键入了该目录的路径,该目录下所有的文件都会显示出来,这会给你的网站留下安全隐患。 为避免这种情况(而不必创建一堆的新index文件),你可以在你的.htaccess文档中键入以下命令,用以阻止目录列表的显示: Options -Indexes
⑹配置 .htaccess 禁止某IP段的访问 如果我不想某个政府部门访问到我的站点的内容,那可以通过.htaccess中加入该部门的IP而将它们拒绝在外。 例如:
order allow,deny
deny from 210.10.56.32
deny from 219.5.45.
allow from all
第二行拒绝某个IP,第三行拒绝某个IP段,也就是219.5.45.0~219.2.45.255 想要拒绝所有人?用deny from all好了。不止用IP,也可以用域名来设定。
⑺利用 .htaccess 防止盗链 如果不喜欢别人在他们的网页上连接自己的图片、文档的话,也可以通过htaccess的指令来做到。 所需要的指令如下: RewriteEngine on
RewriteCond %{ HTTP_REFERER } !^$
RewriteCond %{ HTTP_REFERER } !^http://(www.)?w3sky.com/.*$ [NC]
RewriteRule .(gif &line;jpg)$ - [F] 如果觉得让别人的页面开个天窗不好看,那可以用一张图片来代替: RewriteEngine on
RewriteCond %{ HTTP_REFERER } !^$
RewriteCond %{ HTTP_REFERER } !^http://(www.)?f5web.cn/ .*$ [NC]
RewriteRule .(gif &line;jpg)$ http://www.f5web.cn/ 替代图片文件名 [R,L]
哈哈,最NB的一项.htaccess 利用方法。
利用.htacccess文件反向绑米 许多童鞋说有些好用的免费空间不让绑米,其实任何空间都可以绑米的,好了一下是教程。
1.去找一个免费的国外空间,要支持.htacccess重写的(大部分都支持,但是别找000webhost的,我已经试过,虽然支持重写,但是没法弄反向代理),然后绑米。
2.测试国外空间。
申请好国外空间以后,请新建一个名叫“.htaccess”的文件,用记事本输入以下内容: RewriteEngine On RewriteBase /
然后把这个文件上传到你的国外空间里(注意:有些空间的根目录是public_html,这些一定要看清楚了,就传到他指定的根目录下,不要传错。),绑米后访问这个空间,如果页面显示的是百度的网页且地址栏里是你的网址,那么恭喜你,这个空间可以用反向代理,否则就换个空间从头来过吧。 3.开启反向代理
修改你在第二步创建的.htaccess文件,把“ www.baidu.com”换成“yourname”(把yourname换成你的域名),然后上传到你申请的国外网站的根目录下(根目录是哪个我不解释了,前面说了。) 4.测试网站
在浏览器地址栏里输入你的域名,怎么样,已经成功了吧?试试各种操作是不是可用吧。
|