Apache Rewrite模块的简单应用

Apache开启Rewrite
加载Rewrite模块:
在conf目录下httpd.conf中添加
LoadModule rewrite_module modules/mod_rewrite.so
AllowOverride All


Apache Rewrite模块的简单应用:
1、请求跳转
目的是如果请求为.php文件,则跳转至其它域名访问。
RewriteEngine on
#开启Rewrite模块
RewriteRule (.*)\.php$ http://a.test.com/$1\.php [R=301,L,NC]
#截获所有.php请求,跳转到http://a.test.com/加上原来的请求再加上.php。R=301为301跳转,L为rewrite规则到此终止,NC为不区分大小写


2、域名跳转
如果请求为a.test.com下的所有URL,跳转至b.test.com
RewriteEngine on
#开启Rewrite模块
RewriteCond %{REMOTE_HOST} ^a.test.com$ [NC]
#针对host为a.test.com的主机做处理,^为开始字符,$为结尾字符
RewriteRule (.*) http://b.test.com/$1 [R=301,L,NC]


3、网址规范化
将不带www的网址转向到带www的网址上
RewriteEngine on
RewriteCond %{HTTP_HOST} ^zzbaike\.com$ [NC]
RewriteRule ^(.*)$ http://www.zzbaike.com/$1 [L,R=301]
将带WWW的网址啊转向到不带www的网址
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]


4、防盗链
RewriteEngine on
#开启Rewrite模块
RewriteCond %{HTTP_REFERER} !^$
#如果不是直接输入图片地址
RewriteCond %{HTTP_REFERER} !lsc$ [NC]
RewriteCond %{HTTP_REFERER} !lsc/.*$ [NC]
#且如果不是img.clin003.com所有子域名调用的
RewriteRule (.*)\.(jpg|jpeg|jpe|gif|bmp|png|wma|mp3|wav|avi|mp4|flv|swf)$ http://lsc/me.jpg [R=301,L,NC]


5、去除index.php
实现任何非 index.php、images 和 robots.txt 的 HTTP 请求都被指向 index.php。
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
如果你的项目不在根目录请把上面这一句改为:RewriteRule ^(.*)$ index.php/$1 [L]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值