八亿电脑网
游戏盒子
当前位置: 首页 > 八亿电脑 > 电脑知识 >

.htaccess重定向和url重写的几个例子

时间:2015-03-01 21:24来源:网络 作者:win8e 点击:
游戏盒子

.htaccess是apache虚拟目录中一个可以用来代替apache中conf中的一些功能了,像重定向和url重写或安全配置都可以利用它来完在下面来看看一些关于.htaccess例子。

# 这是注释
# 指定默认首页查找顺序

DirectoryIndex index.htm .index.php

#自定义404页面
ErrorDocument 404 /error/404.html
#比较下面2句: 默认是302,用户访问的是abc,但实际显示的是def页面,地址栏也还是显示abc
redirect /abc /def
#redirect 301 /abc /def

RewriteEngine on
RewiteBase /
#访问old.html实则显示的是index.php ,而地址栏依旧显示old.html,对比后面带中括号[]写法区别
RewriteRule ^old.html$ index.php
#RewriteRule ^old.html$ /index.php [r=301]

#访问index.php需要验证账号密码,如果是进入目录要验证,只须去掉<Files>标签并把.htaccess文件放入对应目录既可
<Files "index.php">
AuthName "Username and passWordsss required"
# .htpasswd即验证账号密码保存文件,名称可自定义,但路径必须是绝对路径,否则会报500 internal server error错误
AuthUserFile D:/Kuaipan/.htpasswd
Require valid-user
AuthType Basic
</Files>

赞助商链接

#访问111cn.net跳转至www.111cn.net
RewriteEngine On
RewriteCond %{HTTP_HOST} ^111cn.net [NC]
RewriteRule ^(.*)$ http://www.111cn.net/$1 [L,R=301]

#图片防盗链:站外引用,直接跳转到google.com

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www.111cn.net/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.111cn.net$ [NC]
RewriteCond %{HTTP_REFERER} !^http://111cn.net/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://111cn.net$ [NC]
RewriteRule .*.(jpg|jpeg|gif|png|bmp|js|css|swf)$ http://www.google.com [R,NC]


htaccess加强网站的安全设置


用.htaccess 自定义错误页的方法

系统默认的错误页面太丑啦, 自己设计一个吧, 可以是php等动态文件格式的哦.

通过在.htaccess文件里加入下面的文字将其变成自定义页面:

ErrorDocument 404 /err/404.php
ErrorDocument 503 /err/503.php
不管是404/403/400/503等其它错误都可以自己设计指定一个页面哦.

用.htaccess禁止显示目录列表

有些时候,你的目录里没有默认的index文件,当有人在浏览器地址栏访问该目录,目录下所有的文件都会显示出来,这会给你的网站留下安全隐患。

为避免这种情况(而不必创建一堆的新index文件),你可以在你的.htaccess加入下面的代码来阻止目录列表的显示:

Options -Indexes
用.htaccess阻止特定的IP地址

想允许某些特定IP的用户可以访问你的网站(例如:只允许使用特定ISP的用户进入某个目录),或者想封禁某些特定的IP地址(例如:将低级用户隔离于你的信息版面外)。

现在网上的大多数用户都使用动态IP地址,这个方法一般很少用。

使用以下命令封禁一个IP地址:

deny from 127.0.0.10
这里的127.0.0.10是被封禁的IP地址

如果封禁整个网段的地址, 可以这样写

deny from 210.10.56.
则将封禁210.10.56.0~210.10.56.255的所有IP地址。

用.htaccess只允许某个IP地址访问网站:

allow from 127.0.0.10
当然也可以想上面一样运行一个ip段访问.

用.htaccess阻止所有人访问目录

deny from all
这个命令并不影响脚本程序使用这个目录下的文档。

用.htaccess 替换默认的首页index文件

如果想更改默认的首页文件(index.htm等)。使用.htaccess可以指定任何的页面作为默认的首页!

下面的代码设置 index.php / index.php3 / messagebrd.pl / index.html / index.htm同时指定了这些页面为默认的首页, 从左到右, 如果存在就访问.

DirectoryIndex index.php index.php3 messagebrd.pl index.html index.htm
利用.htaccess重定向

重定向文件的例子:

Redirect /location/from/root/file.html /new/file/2.html

haccess重定向整个网站的目录

假如你的网站上有一个名为 /olddirectory 的目录,并且你已经 新建了一个 /newdirectory 文档,你可以将旧目录下所有的文件做一次重定向而不必一一声明:

Redirect /olddirectory /newdirectory

利用.htaccess 保护密码

.htaccess具有完美的安全性(即访问者必须知晓密码才可以访问目录,并且绝无“后门”可走)。

1. 密码保护的.htaccess文件

利用.htaccess将一个目录加上密码保护分两个步骤。

在你的.htaccess文档里加上几行代码,再将.htaccess文档放进你要保护的目录下:

AuthName "Section Name"
AuthType Basic
AuthUserFile /full/path/to/.htpasswd
Require valid-user
根据你的网站情况修改上述内容,如用被保护部分的名字“Section Name”。/full/parth/to/.htpasswd则应该替换为指向.htpasswd文件(后面详述该文档)的完整服务器路径。如果你不知道你网站空间的完整路径,请询问一下你的系统管理员。

本篇文章标签: 教程 Win10 win7 软件 Win8
发表评论