参考:
因为学校里面的论坛之前重装过,将文件夹挪过一下位置,导致以前的链接坏掉了。
今天刚说起这件事,于是稍微弄了一下。
这时候RedirectMatch就显得非常有用,如果你租用的虚拟主机是apache,那么恭喜你,你也可以使用目录下的.htaccess里设置 RedirectMatch。 语法: RedirectMatch [status] regex URL regex 为 regular expressions 的缩写,具体参考 Apache 手册。 应用: 服务器配置, 虚拟主机, 目录, .htaccess文件 举例: 1) 将一个目录重定向到一个文件: RedirectMatch 301 ^/lastdir$ /lastdir.html 2) 将A目录重定向到B目录: RedirectMatch 301 ^/dir_a$ /dir_b 3) 将A目录下所有的文件重定向到B目录: RedirectMatch 301 ^/dir_a/.* /dir_b 4) 将A目录下所有的文件重定向到B目录相对应的文件: RedirectMatch 301 ^/dir_a/(.*) /dir_b/$1 $1表示上面圆括弧中的变量,如果有多个圆括弧,则按顺序为 $2,$3 5) 将A目录下所有的文件重定向到B服务器的C目录相对应的文件: RedirectMatch 301 ^/dir_a/(.*) 这个对有些原先使用个人空间,而现在有了自己的服务器或者虚拟主机的人来说非常有用, 比如原先是 www.wz.zj.cn/~mypage 而现在有了www.myweb.com 这个空间 那么就可以在原个人空间的目录下编辑 .htaccess 加入: RedirectMatch 301 ^/~dir_a/(.*) 如果域名发生变更,可以这样: RedirectMatch 301 ^(.*) 说明: 符号 ^ 表示匹配项的开始, 符号 $ 表示结束,符号 * 代表通配符,符号 () 定义变量,$1, $2 为变量名。 301,是状态码,表示永久重定向,另外还有: 302,临时重定向,如果不写状态码,则这个就是默认值。 303,系统会有一个页面,指出资源地址已经改变。 410,表示资源地址已经永久删除
使用了这一条
RedirectMatch 301 ^/~dir_a/(.*)
作为参考,弄好了