apache的rewrite规则转换为lighttpd的rewrite 一例
今天,同事需要配置.htaccess 跳转,但是由于服务器使用的lighttpd,所以需要手工在lighttpd的配置中增加lighttpd的rewrite规则,由于这种规则匹配方式第一次接触,所以记录下来:
apache的规则
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico|(.*)\.swf)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php?$1 [L,QSA]
大致意思就是在访问的请求中只要不是index\.php|images|css|js|robots\.txt|favicon\.ico这几种文件都跳转到./index.php?$1下,而且只针对/ga这个目录,例如:
访问:
这个请求时,跳转到这种
查找一些资料后,反复尝试后,修改成为lighttpd的规则如下:
url.rewrite-once = ( "^/ga/((?!((.*)index\.php$|(.*)images/|(.*)css/|(.*)js/|(.*)robots\.txt$|(.*)favicon\.ico$)|(.*).swf$).*)" => "/ga/index.php?$1" )
}
阅读(3109) | 评论(1) | 转发(0) |