什么是mod_rewrite?
mod_rewrite是Apache的一个模块,是一个严格的Apache配置文件,其中最常见的就是重定向和伪静态,通过.htaccess文件来实现。下面是一些.htacess文件示例代码:
#设定网站默认首页
DirectoryIndex home.html
#只允许特定的IP访问网站
deny from all
allow from 69.95.212.140
allow from 210.26.45.67
#重定向到不带www的地址
#用您自己的域名替代example.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(([a-z0-9_]+\.)?example\.com)$ [NC]
RewriteRule .? } [R=301,L]
#重定向到带www的网址
#用您自己的域名替代example.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([a-z.]+)?example\.com$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .? } [R=301,L]
#设定访问网站时默认打开一子目录
#用您的子目录名字替代folder
RewriteEngine On
RewriteRule ^$ /folder/ [R=301,L]
#重命名一个目录并强制访问新目录
#用旧的文件夹名替换old
#用新的文件夹名替换new
RewriteEngine on
RewriteRule ^/?old([a-z/.]*)$ /new$1 [R=301,L]
#使用https安全网址
#用您的域名替换
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ ]
#屏蔽来自某些站点的访问
RewriteEngine on
Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} badsite\.com [NC,OR]
RewriteCond %{HTTP_REFERER} badforum\.com [NC,OR]
RewriteCond %{HTTP_REFERER} badsearchengine\.com[NC]
RewriteRule .* - [F]
#禁止访问某些后缀的文件
RewriteEngine on
RewriteRule .*\.(jpg|jpeg|gif|png|bmp|exe|swf)$ - [F,NC]