最近因為工作需要, 要用apache的rewrite_mod模塊來改寫url中的一部分. 查找了一些資料后, 記錄在此. 共享!
1 生成rewrite_module 模塊: (如果在安裝時有rewrite選項, 則不用執行此步驟.)
下面來加載編譯mod_rewrite.so這個模塊。
#cd /soft/httpd-2.0.59/modules/mappers
#/opt/apache2/bin/apxs -c mod_rewrite.c
#gcc -shared -o mod_rewrite.so mod_rewrite.o
#/opt/apache2/bin/apxs -i -A -n rewrite mod_rewrite.so
2 這時應該會提示你已經在apache的module目錄產生了一個mod_rewrite.so文件,并更改了conf/http.conf文件.
3 配置http.conf文件: (正則表達式部分視情況來更改)
LoadModule rewrite_module modules/mod_rewrite.so
RewriteEngine on
RewriteLog "logs/rewrite.log"
RewriteLogLevel 9
#rewriterule ^(.*)Redirect=http:/([^\/]+)/(.*) $1Redirect=http://$2/$3 [PT]
rewriterule ^(.*)REFERER([^&]+)&(.*) $1REFERER$2\%26$3 [PT]