In this case I used NGINX as reverse proxy for ssl offloading in front of Apache. On this WordPress installation I was getting 404 on all subpages. Htaccess syntax was correct as it was nginx configuration. In this case, problem was caused because of missing “AllowOverride” Apache directive which didn’t allow htaccess to be processed. I added “AllowOverride ALL” in apache configuration for this virtual host. Subpages started to work.
Example:
<VirtualHost *:8080> DocumentRoot /var/www/mysite.com/ ServerName mysite.com ServerAlias www.mysite.com <Directory "/var/www/mysite.com/"> AllowOverride All </Directory> </VirtualHost>