- Overview
- Installation & Uninstallation
- Local and remote management using IIS 7
- Context and processing order
- Apache compatibility
- Modules
- core functions
- mod_antibot
- mod_asis
- mod_auth_basic
- mod_auth_digest
- mod_authn_anon
- mod_authn_dbd
- mod_authn_default
- mod_authn_file
- mod_authz_default
- mod_authz_groupfile
- mod_authz_host
- mod_authz_user
- mod_cache
- mod_dbd
- mod_deflate
- mod_developer
- mod_dir
- mod_disk_cache
- mod_env
- mod_evasive
- mod_expires
- mod_filter
- mod_gzip
- mod_headers
- mod_hotlink
- mod_linkfreeze
- mod_log_config
- mod_logio
- mod_mem_cache
- mod_mime
- mod_proxy
- mod_replace
- mod_rewrite
- mod_seo
- mod_setenvif
- mod_so
- mod_speling
- mod_usertrack
- mod_xsendfile
- Articles
- Release history
- Troubleshooting
- License agreement
Compatibility chart
Overview
Helicon Ape is designed to maintain maximum Apache compatibility. Although this target has been achieved at very high level, some features may not be implemented because they are too bounded to Apache or UNIX design and their implementation on IIS is senseless.
Please note that under Windows 2003 Helicon Ape runs as ASP.NET module, thus it will be only applied to requests that are passed to ASP.NET engine. On IIS6 you can map '*' file extension to ASP.NET engine to overcome this problem. Under IIS7 Helicon Ape is fully integrated into server pipeline and runs transparently to both server and client technology.
Complete compatibility chart for Helicon Ape and Apache
Color map
green - fully supported;
yellow - partially supported or planned for support in next minor version;
red - unsupported;
blue - Helicon Ape specific features.
Directives [flags, features] | Vista/2008 (IIS 7) 7/2008 R2 (IIS 7.5) |
2003 (IIS 6) |
Apache |
Core functions | |||
AccessFileName | + | + | + |
AllowOverride | + | + | + |
AuthName | + | + | + |
AuthType | + | + | + |
ErrorDocument | + | + | + |
ErrorLog | + | + | + |
Include | + | + | + |
LogLevel | + | + | + |
Options | + | + | + |
Require | + | + | + |
Satisfy | + | + | + |
SetInputFilter | + | — | + |
SetOutputFilter | + | — | + |
<Directory> | + | + | + |
<DirectoryMatch> | + | + | + |
<Files> | + | + | + |
<FilesMatch> | + | + | + |
<IfModule> | + | + | + |
<Limit> | + | + | + |
<LimitExcept> | + | + | + |
<Location> | + | + | + |
<LocationMatch> | + | + | + |
<Proxy> | + | + | + |
<ProxyMatch> | + | + | + |
<VirtualHost> | + | + | + |
mod_asis | |||
No directives | + | + | + |
mod_auth_basic | |||
AuthBasicProvider | + | + | + |
AuthBasicAuthoritative | + | + | + |
mod_auth_digest | |||
AuthDigestAlgorithm | + | + | + |
AuthDigestDomain | + | + | + |
AuthDigestNcCheck | + | + | + |
AuthDigestNonceFormat | + | + | + |
AuthDigestNonceLifetime | + | + | + |
AuthDigestProvider | + | + | + |
AuthDigestQop | + | + | + |
AuthDigestShmemSize | + | + | + |
mod_authn_anon | |||
Anonymous | + | + | + |
Anonymous_LogEmail | + | + | + |
Anonymous_MustGiveEmail | + | + | + |
Anonymous_NoUserID | + | + | + |
Anonymous_VerifyEmail | + | + | + |
mod_authn_dbd | |||
AuthDBDUserPWQuery | + | + | + |
AuthDBDUserRealmQuery | + | + | + |
mod_authn_default | |||
AuthDefaultAuthoritative | + | + | + |
mod_authn_file | |||
AuthUserFile | + | + | + |
mod_authz_groupfile | |||
AuthGroupFile | + | + | + |
AuthzGroupFileAuthoritative | + | + | + |
mod_authz_host | |||
Allow | + | + | + |
Deny | + | + | + |
Order | + | + | + |
mod_authz_user | |||
AuthzUserAuthoritative | + | + | + |
mod_cache | |||
CacheDefaultExpire | + | — | + |
CacheDisable | + | — | + |
CacheEnable | + | — | + |
CacheIgnoreCacheControl | + | — | + |
CacheIgnoreHeaders | — | — | + |
CacheIgnoreNoLastMod | + | — | + |
CacheLastModifiedFactor | + | — | + |
CacheMaxExpire | + | — | + |
CacheStoreNoStore | + | — | + |
CacheStorePrivate | + | — | + |
CacheVaryByParams | + | — | — |
CacheVaryByHeaders | + | — | — |
mod_dbd | |||
DBDExptime | + | + | + |
DBDKeep | + | + | + |
DBDMax | + | + | + |
DBDMin | + | + | + |
DBDParams | + | + | + |
DBDPersist | + | + | + |
DBDPrepareSQL | + | + | + |
DBDriver | + | + | + |
mod_deflate | |||
DeflateCompressionLevel | + | — | + |
mod_developer | |||
No directives | + | — | — |
mod_dir | |||
DirectoryIndex | + | + | + |
DirectorySlash | + | + | + |
mod_disk_cache | |||
CacheDirLength | + | — | + |
CacheDirLevels | + | — | + |
CacheMaxFileSize | + | — | + |
CacheMinFileSize | + | — | + |
CacheRoot | + | — | + |
mod_env | |||
PassEnv | + | — | + |
SetEnv | + | + | + |
UnsetEnv | + | + | + |
mod_evasive | |||
DOSHashTableSize | + | + | + |
DOSPageCount | + | + | + |
DOSSiteCount | + | + | + |
DOSPageInterval | + | + | + |
DOSSiteInterval | + | + | + |
DOSBlockingPeriod | + | + | + |
DOSEmailNotify | — | — | + |
DOSSystemCommand | + | + | + |
DOSLogDir | — | — | + |
DOSCloseSocket | + | — | — |
mod_expires | |||
ExpiresActive | + | + | + |
ExpiresByType | + | + | + |
mod_filter | |||
FilterChain | + | — | + |
FilterDeclare | — | — | + |
FilterProtocol | + | — | + |
FilterProvider | + | — | + |
FilterTrace | — | — | + |
mod_gzip | |||
mod_gzip_on | + | — | + |
mod_gzip_compression_level | + | — | + |
mod_gzip_add_header_count | + | — | + |
mod_gzip_minimum_file_size | — | — | + |
mod_gzip_maximum_file_size | — | — | + |
mod_gzip_item_include | + | — | + |
mod_gzip_item_exclude | + | — | + |
mod_gzip_handle_methods | + | — | + |
mod_gzip_send_vary | + | — | + |
mod_headers | |||
Header | + | + | + |
RequestHeader | + | — | + |
mod_hotlink | |||
HotlinkAllow | + | + | — |
HotlinkDeny | + | + | — |
HotlinkExpires | + | + | — |
HotlinkInvolveIP | + | + | — |
HotlinkProtect | + | + | — |
Link | + | — | — |
Redirect | + | + | — |
Referer | + | + | — |
HotlinkSignature | + | + | — |
mod_linkfreeze | |||
LinkFreezeEngine | + | — | — |
LinkFreezePageSizeLimit | + | — | — |
LinkFreezeRule | + | — | — |
mod_log_config | |||
BufferedLogs | — | — | + |
CookieLog | — | — | + |
CustomLog | + | — | + |
LogFormat | + | — | + |
TransferLog | + | — | + |
mod_logio | |||
No directives | + | + | + |
mod_mem_cache | |||
MCacheMaxObjectCount | — | — | + |
MCacheMaxObjectSize | + | — | + |
MCacheMaxStreamingBuffer | — | — | + |
MCacheMinObjectSize | + | — | + |
MCacheRemovalAlgorithm | — | — | + |
MCacheSize | — | — | + |
mod_mime | |||
AddCharset | + | + | + |
AddEncoding | + | + | + |
AddHandler | + | + | + |
AddInputFilter | + | + | + |
AddLanguage | + | + | + |
AddOutputFilter | + | + | + |
AddType | + | + | + |
DefaultLanguage | + | + | + |
ModMimeUsePathInfo | + | + | + |
MultiviewsMatch | — | — | + |
RemoveCharset | + | + | + |
RemoveEncoding | + | + | + |
RemoveHandler | — | — | + |
RemoveInputFilter | — | — | + |
RemoveLanguage | + | + | + |
RemoveOutputFilter | + | + | + |
RemoveType | + | + | + |
TypesConfig | — | — | + |
mod_proxy | |||
BalancerMember | + | + | + |
NoProxy | + | + | + |
ProxyBlock | + | + | + |
ProxyIOBufferSize | + | + | + |
ProxyMaxForwards | + | + | + |
ProxyPass | + | + | + |
ProxyPassMatch | + | + | + |
ProxyPassReverse | + | + | + |
ProxyPassReverseCookieDomain | + | + | + |
ProxyPassReverseCookiePath | + | + | + |
ProxyPreserveHost | + | + | + |
ProxyReceiveBufferSize | + | + | + |
ProxyRemote | + | + | + |
ProxyRemoteMatch | + | + | + |
ProxyRequests | + | — | + |
ProxyTimeout | + | + | + |
ProxyVia | + | + | + |
mod_replace | |||
ReplaceFilterDefine | + | — | + |
ReplacePattern | + | — | + |
HeaderReplacePattern | + | — | + |
RequestHeaderPattern | + | + | + |
mod_rewrite | |||
RewriteBase | + | + | + |
RewriteCond | + | + | + |
[NC] ignore case | + | + | + |
[OR] logical or combining | + | + | + |
-d (directory exist) | + | + | + |
-f (file exist) | + | + | + |
-s (non zero file) | + | + | + |
-l (symbolic link) | — | — | + |
-x (file with executable permissions) | — | — | + |
-F (file exist via subrequest) | — | — | + |
-U (URL exist via subrequest) | — | — | + |
RewriteEngine | + | + | + |
RewriteHeader | + | — | — |
RewriteLog | + | + | + |
RewriteLogLevel | + | + | + |
RewriteMap | + | + | + |
dbd (database mapping) | + | + | — |
int (internal functions toupper, tolower, escape, unescape) | + | + | + |
rnd (random mapping) | + | + | + |
txt (text mapping) | + | + | + |
txt_rev (reverse text mapping) | + | + | — |
dbm (hash file) | — | — | + |
prg (external program) | — | — | + |
[NC] ignore case | + | + | — |
RewriteOptions | + | + | + |
RewriteProxy | + | + | — |
RewriteRule | + | + | + |
[C] chain with next rule | + | + | + |
[CO=name:val:domain:lifetime:path] set cookie | + | + | + |
[CL] case lower | + | + | — |
[CU] case upper | + | + | — |
[E=var:val] set environment variable | + | + | + |
[F] force forbidden response | + | + | + |
[G] force gone response | + | + | + |
[H=content-handler] explicit content handler (unapplicable) | — | — | + |
[L] last rule flag | + | + | + |
[LP] loop | + | + | — |
[N] apply rules again | + | + | + |
[NC] ignore case | + | + | + |
[NE] don't escape output (useless, always on) | + | + | + |
[NS] no internal subrequest | + | — | + |
[O] normalize | + | + | — |
[P] proxy pass | + | + | + |
[PT] pass through the next handler (always on) | — | — | + |
[QSA] append query string | + | + | + |
[R=code] redirect | + | + | + |
[S=num] skip next n rules | + | + | + |
[SC=200..500] set status code | + | + | + |
[T=MIME-type] force explicit response MIME type | + | + | + |
[U] unmangle log | + | + | — |
mod_seo | |||
No directives | + | — | — |
mod_setenvif | |||
BrowserMatch | + | + | + |
BrowserMatchNoCase | + | + | + |
SetEnvIf | + | + | + |
SetEnvIfNoCase | + | + | + |
mod_so | |||
LoadModule | + | + | + |
LoadFile | — | — | + |
mod_speling | |||
CheckCaseOnly | + | — | + |
CheckSpelling | + | — | + |
CheckBaseName | + | — | — |
mod_usertrack | |||
CookieDomain | + | — | + |
CookieExpires | + | — | + |
CookieName | + | — | + |
CookieStyle | + | — | + |
CookieTracking | + | — | + |
mod_xsendfile | |||
XSendFile | + | — | + |
XSendFileAllowAbove | + | — | + |
Server variables compatibility chart
Server variables | Vista/2008 (IIS 7) |
2003 (IIS 6) |
Apache |
API_VERSION (returns IIS version) | + | + | + |
AUTH_TYPE | + | + | + |
DOCUMENT_ROOT | + | + | + |
HTTP_ACCEPT | + | + | + |
HTTP_COOKIE | + | + | + |
HTTP_FORWARDED | + | + | + |
HTTP_HOST | + | + | + |
HTTP_PROXY_CONNECTION | + | + | + |
HTTP_REFERER | + | + | + |
HTTP_USER_AGENT | + | + | + |
HTTPS | + | + | + |
IS_SUBREQ | + | — | + |
PATH_INFO | + | + | + |
QUERY_STRING | + | + | + |
REMOTE_ADDR | + | + | + |
REMOTE_HOST | + | + | + |
REMOTE_IDENT | + | + | + |
REMOTE_PORT | + | + | + |
REMOTE_USER | + | + | + |
REQUEST_FILENAME | + | + | + |
REQUEST_METHOD | + | + | + |
REQUEST_URI | + | + | + |
SCRIPT_FILENAME | + | + | + |
SERVER_ADDR | + | + | + |
SERVER_ADMIN | + | + | + |
SERVER_NAME | + | + | + |
SERVER_PORT | + | + | + |
SERVER_PROTOCOL | + | + | + |
SERVER_SOFTWARE | + | + | + |
THE_REQUEST | + | + | + |
TIME | + | + | + |
TIME_DAY | + | + | + |
TIME_HOUR | + | + | + |
TIME_MIN | + | + | + |
TIME_MON | + | + | + |
TIME_SEC | + | + | + |
TIME_WDAY | + | + | + |
TIME_YEAR | + | + | + |
Moreover, all IIS-specific server variables are also supported.