Apache中rewrite规则代码均在
<IfModule mod_rewrite.c>模块下
#vim /usr/local/apache2/conf/httpd.conf
:156
#LoadModule rewrite_module modules/mod_rewrite.so //把#去掉
1、域名301跳转
web服务可能会用到多个域名,域名有主有次,输入次域名会自动跳转到主域名进行访问。设定为301永久跳转,302是暂时跳转
#vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
2、禁止指定user_agent
Rewritecond %{HTTP_USER_AGENT} ^.cur1.[NC,OR] #禁止curl和chrome浏览器访问
Rewritecond %{HTTP_USER_AGENT} ^.chrome.[NC] #NC是不区分大小写的意思
RewriteRule .* - [F] #为禁止的意思
3、通过rewrite限制某个目录
Rewritecond %{REQUEST_URI} ^./tmp/.[NC] #禁止访问tmp目录
RewriteRule .* - [F]
4、rewrite规则
R=301强制外部重定向
[F]禁用URL,返回403HTTP状态码。
NC不区分大小写
[OR]或者
5、rewrite变量
%{HTTP_USER_AGENT} #表示:访问的user_agent
%{HTTP_HOST} 表示:当前访问的网址只是指前缀部分,格式是www.xxx.com不包括“http://”和“/”
%{REQUEST_URI} #表示:表示访问的相对地址,就是相对根目录的地址,就是域名/后面的成分,格式上包括最前面的“/”
www.123.com/xiang/1.html #www.123.com表示HOST,xiang/1.html表示URI
最后
以上就是傲娇悟空最近收集整理的关于Apache配置的rewrite规则的全部内容,更多相关Apache配置内容请搜索靠谱客的其他文章。
发表评论 取消回复