站长世界近期更换了域名,新域名为 www.zd6.org, 更加简短好记。这时需要将原来的域名 zz-world.com, 以及论坛所在地址 zz-world.com/forums/ 定向到新的域名,以便用户可以找到,并且使原来的论坛 URL 继续有效而不出现 404 未找到,比如原来的 http://www.zz-world.com/forums/-f60.html, 让它在新的域名下继续有效,点击后转发到 http://bbs.zd6.org/-f60.html, 这就需要用 apache 的 Mod_rewrite 功能来实现。
在< virtualhost> 中添加下面的重定向规则:
RewriteEngine On
# Redirect zz-world.com/forums to bbs.zd6.org
RewriteCond %{REQUEST_URI} ^/forums/
RewriteRule /forums/(.*) http://bbs.zd6.org/$1 [R=permanent,L]
# Redirect zz-world.com to zd6.org
RewriteCond %{REQUEST_URI} !^/forums/
RewriteRule /(.*) http://www.zd6.org/$1 [R=permanent,L]
添加了上面的规则以后, 里的全部内容如下:
<virtualhost *:80> ServerAlias zz-world.com ServerAdmin admin@zz-world.com DocumentRoot /path/to/zz-world/root ServerName www.zz-world.com
RewriteEngine On
# Redirect zz-world.com/forums to bbs.zd6.org
RewriteCond %{REQUEST_URI} ^/forums/
RewriteRule /forums/(.*) http://bbs.zd6.org/$1 [R=permanent,L]
# Redirect zz-world.com to zd6.org
RewriteCond %{REQUEST_URI} !^/forums/
RewriteRule /(.*) http://www.zd6.org/$1 [R=permanent,L]
< /virtualhost>