hostease虚拟主机中.htaccess文件常用例子

posted on 一月 25th, 2018 BY admin
hostease虚拟主机中.htaccess文件常用例子已关闭评论

关于hostease虚拟主机运行中.htaccess文件常出现的问题如下:

 

设置http自动跳转到https

RewriteEngine On
RewriteBase /
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://***.com/$1 [R=301,L]
https自动跳转到http
RewriteEngine On
RewriteBase /
RewriteCond %{SERVER_PORT} 443
RewriteRule ^(.*)$ http://***.com/$1 [R=301,L]
》》
如何登入www.domain.com就直接跳到www.domain.com/dir (也就是访问主域名转向到一个目录,例如bbs shop等等)
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$
RewriteCond %{REQUEST_URI} !^/dir/
RewriteRule ^(.*)$ /dir/$1  (WIKI中的两句是不需要的)
》》
防止别人的域名解析到自己的独立IP
RewriteEngine On
RewriteCond %{HTTP_HOST} !(^www\.yourdomain\.com$) [NC]
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [L,R=301] 
(代码的作用:只允许自己的域名解析到自己的独立IP,别人解析到自己的独立IP后都会跳转到自己的域名
如果是自己的域名需要解析到独立IP,可以加上代码 RewriteCond %{HTTP_HOST} !(^donvee\.com$) [NC] 修改域名即可)
这个可以完成如下几个功能: 
1. 如果你的网站绑定多个域名,为了只使用一个域名,就可以设置如上规则,例如网站绑定了 www.idcspy.com  www.enmabiz.com 那么为了防止重复的url,就可以把上面的域名设置为www.idcspy.com,这样来自www.enmabiz.com所有的访问都会重定向到 www.idcspy.com 
2. 如果你用的是独立IP,那么别人就可以把它的域名解析到你的IP上,这个时候可以用这个规则,其他所有解析到你的IP上的域名都会转向到你设置的域名上。 
》》
自定义404错误页面: ErrorDocument 404 /404.shtml   (写入.htaccess文件保存即可)
》》
把不带www的域名转向到带www的(网址规范化)
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
全部统一到不带www  
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]
》》
设置域名泛解析,可以.htaccess配置文件来实现泛域名解析,具体的方法是在.htaccess文件中添加如下代码:
RewriteEngine On
RewriteBase /
#[NC]的含义是忽略大小写
RewriteCond %{HTTP_HOST} ^test\.yourdomain\.com$ [NC]
RewriteRule ^([a-z0-9\-]+\.(.*))$ test/$1
》》
也可以用Rewrite实现301转向: 
通过.htaccess文件设置
通过在.htaccess加入转向代码也可以实现301转向,这种方法设置还是比较方便的,代码如下:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^olddomain\.com$ [NC]
RewriteRule ^(.*)$ http://newdomain.com/$1 [L,R=301]
以上这段代码完全可以实现我们想要的301转向效果,即页面之间的链接转向,当然也可以通过搭建的网站中的任意一个链接跳转到新域名的网站首页,具体代码如下:
Redirect 301 /old.html http://www.domain.com/new.html
通过这种设置我们可以从原域名搭建的网站中的任意一个链接跳转到新域名的网站首页。
》》
时区设置:在 Htaccess文件中加入 SetEnv TZ Asia/Chongqing 设置时区,Asia/Chongqing 换成你要设置的时区,Asia/Chongqing就表示北京时间。
其他时区的写法可在WHM面板的服务器时间设置里查到,查看的时候注意千万不要修改服务器的时间设置。 
》》
屏蔽IP  
1、禁止特定的IP
order allow,deny
allow from all
deny from 1.1.1.1;  (写要封的IP)
2、只允许特定的IP访问
order deny,allow
deny from all
allow from  61.228.209.85 (允许的IP)
》》
客户想把cpanel默认的三种邮件收发工具的地址设置成mail.域名.com的形式访问,可以吗?
答:RewriteEngine on
RewriteCond %{HTTP_HOST} ^mail\.(.*)
RewriteRule ^.* http://www.%1:2095 [L]
另外这个规则是通用的,可以写到httpd.conf中在整台服务器实现上述功能。
》》
防止.htaccess文件被查看 
order allow,deny
deny from all
(其他文件也可以类似这样处理)
》》
禁止显示目录列表
如果目录没有默认首页文件,将会列出文件列表,可能造成安全隐患,为避免这种情况(而不必创建一堆的新index文件),你可以在你的.htaccess文档中键入以下命令,用以阻止目录列表的显示: 
Options -Indexes 
》》
设置默认首页及顺序 在.htaccess文件中加入 (主目录及子目录逐级显示首页文件)
DirectoryIndex index.html index.htm index.php index.cgi 
》》
客户因资源占用过大,账户被suspend了,之后客户同意处理,又把他的账户unsuspend了,访问客户域名会出现这种情况:正在连接到127.0.0.1 ,还要输入用户名和密码,原因是.htaccess没替换掉,在unsuspended 账户的时候,为什么.htaccess没有替换掉? 
被攻击才会出现这种问题,资源占用过大的暂停了不会出现这种问题。原因是被攻击的时候我们修改了.htaccess把请求转向了,解封之后要手动修正一下,或者先改回去再unsuspended 
》》实现默认首页(缺省页)识别设置:
DirectoryIndex index.php 
》》实现301定向:
RewriteEngine On
RewriteCond %{http_host} ^boqian.net [NC]
RewriteRule ^(.*)$ http://www.boqian.net/$1 [R=301,L]
》》实现主域名跳转到子目录网站:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?dxalzqw\.com$
RewriteCond %{REQUEST_URI} !^/dxalzqw.com/
RewriteRule ^(.*)$ /dxalzqw.com/$1
》》实现301重定向,并且主域名和独立ip跳转到子目录网站
RewriteEngine On
RewriteCond %{http_host} ^dxalzqw.com [NC]
RewriteRule ^(.*)$ http://www.dxalzqw.com/$1 [R=301,L]
RewriteCond %{http_host} ^198.15.75.242 [NC]
RewriteRule ^(.*)$ http://www.dxalzqw.com/$1 [R=301,L]
RewriteBase /
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?dxalzqw\.com$
RewriteCond %{REQUEST_URI} !^/dxalzqw.com/
RewriteRule ^(.*)$ /dxalzqw.com/$1
或者
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?bohangedu\.com$
RewriteCond %{REQUEST_URI} !^/bohangedu.com/
RewriteRule ^(.*)$ /bohangedu.com/$1 
RewriteCond %{http_host} ^198.15.75.226 [NC]
RewriteRule ^(.*)$ http://www.bohangedu.com$1 [R=301,L]
以上就是hostease虚拟主机中.htaccess文件常用例子

Comments are closed.