HostMonster:.htaccess实现rewrite

出自美国主机知识库

在2011年7月20日 (三) 09:37由Scockes (讨论 | 贡献)所做的修订版本
(差异) ←上一修订 | 最新修订 (差异) | 下一修订→ (差异)
跳转到: 导航, 搜索

首先,需要在网站根目录下上传.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转向。 

个人工具
名字空间
变换
动作
导航
工具/资源
工具箱