Ferrets家的Wordpress

杂记

redirect

在Apache中使用redirect

2012年11月23日 by Ferrets Leave a Comment

参考:

因为学校里面的论坛之前重装过,将文件夹挪过一下位置,导致以前的链接坏掉了。
今天刚说起这件事,于是稍微弄了一下。

这时候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/(.*) 

作为参考,弄好了

Posted in: 自建服务 Tagged: Apache, redirect, rewrite

搜索站点

日历

2023年 3月
一二三四五六日
 12345
6789101112
13141516171819
20212223242526
2728293031 
« 1月    

分类

  • Android
  • docker
  • Linux
  • OpenWrt
  • OPNsense
  • Proxmox
  • RaspberryPi
  • RouterOS
  • Windows
  • 吐槽
  • 未分类
  • 生活
  • 网络
  • 自建服务

近期文章

  • 使用OPNsense来保护内网的服务
  • Mikrotik RB750Gr3优化配置,跑(差点)满千兆
  • 用smartdns来防治DNS污染
  • Proxmox中LXC容器中docker调用宿主机的显卡加速
  • Linux上iptables端口触发拦截
  • 通过DHCP指定mtu
  • openwrt 国内镜像源
  • 为RDP启用显卡加速,提升远程桌面效果
  • 为proxmox启用intel核显的虚拟化
  • windows无法解析域名

友链

  • ntzyz's space
  • Openwrt中文论坛
  • SNGR
  • Trevikids行止由心
  • 煎蛋

归档

管理

  • 登录
  • 条目feed
  • 评论feed
  • WordPress.org

Copyright © 2023 Ferrets家的Wordpress.

Omega WordPress Theme by ThemeHall