好好学习,天天向上!

.htaccess文件在apache中的设置应用

laotu | 2007/06/17, 05:43

通过.htaccess文件设置域名访问目录默认文件

在.htaccess文件中添加代码如下:
DirectoryIndex default.php index.php index.html index.htm

将默认的文件名或者文件类型放在第一位即可。

301重定向正则表达式实例应用

如果想将domain.com域名下的所有url转到www.domain.com下,规则如下:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]

但实际用到的301转向并不是如此简单的应用,诸如程序调整目录,文件命名规则的改变,就需要用到正则表达式来设置相关的301重定向了,几个简单的301重定向正则表达式的例子如下:

RewriteRule ^(.*?)(\/\d.*)$ $1_bing$2  [R,L]
RedirectMatch ^/archiver/(.*)$ /bbs/archiver/$1 [L]
RedirectMatch ^/chrome/([a-zA-Z]+)/(.*).html$ /chrome/$1-$2.html [L]
RedirectMatch ^/msn/([a-z]+)/(\d{4})([0-9]+).html$ /live/$1/2009$3.html [L]


([a-z]+)表示多位的小写英文字母。
([a-zA-Z]+)表示多位的大小写英文字母。

([0-9])表示单个的阿拉伯数字;
([0-9]{1,2})表示两位的阿拉伯数字;
([0-9]+)表示多位的阿拉伯数字;

(\d)同上一个。
(\d{4})表示多位的阿拉伯数字的前四位数字。
(\b)表示单词的开始或结束; (\w)表示任意的字母或数字或下划线或汉字;
(\s)表示任意的空白符;

(.*)表示任意字符。

redirect 301 /go/search.htm /data/google.html
redirect permanent /go/search.htm /data/google.html
其中redirect permanent和redirect 301应用效果相同。

更多正则表达式的内容看这里吧http://zh.wikipedia.org/wiki/正则表达式
月光博客自己总结的常用正则表达式http://www.williamlong.info/archives/433.html

默认分类 | 静态网址 | 发表评论 | 引用 (0)