HostMonster:.htaccess实现rewrite
出自美国主机知识库
首先,需要在网站根目录下上传.htaccess文件,然后添加相应的重定向代码。上传.htaccess文件的方法:在本地创建htaccess.txt文本文件,上传至空间后重命名为.htaccess。重定向功能代码如下:
1、主域名绑定到子目录
注意:将 yourmaindomain.com修改为你的域名,将subfolder修改为你要指向的public_html下的子目录.最后一行中的index.php修改
为你的网站的主页名称.(修改粗体表示的内容,其他内容不要改动)
RewriteEngine on
#更改yourmaindomain.com为你的主域名地址
RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$
# 更改主域名要指向的子目录
RewriteCond %{REQUEST_URI} !^/subfolder/
#不要更改这两行
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 更改主域名要指向的子目录
RewriteRule ^(.*)$ /subfolder/$1
#更改yourmaindomain.com为你的主域名地址
RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$
#更改index.php为你的网站首页文件
RewriteRule ^(/)?$ subfolder/index.php [L]
2、规范WWW
全部统一到带 www,例如将83blog.com 统一到 www.83blog.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yourdomain\.com$ [NC]
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [L,R=301]
全部统一到不带www,例如将 www.idcspy.org 统一到 idcspy.org
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.yourdomain\.com$ [NC]
RewriteRule ^(.*)$ http://yourdomain.com/$1 [L,R=301]
3、防止别人的域名解析到自己的独立IP
RewriteEngine On
RewriteCond %{HTTP_HOST} !(^www\.yourdomain\.com$) [NC]
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [L,R=301]
这个可以完成如下几个功能:
(1)、如果你的网站绑定多个域名,为了只使用一个域名,就可以设置如上规则,例如网站绑定了 www.idcspy.org www.enmabiz.com 那么为了防止重复的url,就可以把上面的域名设置为www.idcspy.org,这样来自www.enmabiz.com所有的访问都会重定向到 www.idcspy.org
(2)、如果你用的是独立IP,那么别人就可以把它的域名解析到你的IP上,这个时候可以用这个规则,其他所有解析到你的IP上的域名都会转向到你设置的域名上。
4、301 302 转向
重定向文件: Redirect 301 /orddir/ordfile.html http://www.zzbaike.com/newdir/newfile 重定向目录 Redirect 301 /orddir/ http://www.zzbaike.com/newdir/ 这个会把旧目录的文件全部转向到新目录的对应文件 也可以用Rewrite实现: 转向到文件 RewriteEngine On RewriteRule ^(.*)$ http://www.zzbaike.com/newfile.html [R=301,L] 这个把所有请求转向到 http://www.zzbaike.com/newfile.html 转向目录 RewriteEngine On RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=301,L] 将以上的代码301改成302就是302转向。