什么是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]