I found this in httpd.conf:
LoadModule rewrite_module modules/mod_rewrite.so
Isn't the .so
files for linux?
Shouldn't it be .dll
for windows?
Two things I can think of here:
Apache is smart enough to use the platform-specific extension on other platforms and doesn't care too much about the .so.
DLLs can be named as you like, the extension can be arbitrary. You can name DLLs on Windows .so if you like.
ETA: As mh mentions in a comment, it's actually both: Apache will load .dll files, even though .so is preferred on Windows systems (Source). Of course, even if it's named .so, it's still a normal PE library.
In Windows at least there is no technical requirement for any particular file extension. I imagine the same applies to Linux. File extensions simply provide a mechanism for the OS and the human operators to associate certain files with particular operations or applications.