A primeira regra de correspondência se aplica, portanto, inclua .htaccess antes de excluir .* .
rsync -avP --include=".htaccess" --exclude=".*" . user@server:/dir
Isso copia .htaccess em todos os níveis. Não sei o que você pretendia com ./.htaccess ; Se você quiser corresponder um arquivo somente na raiz da cópia, inicie o padrão com / . Se você quer apenas a raiz .htaccess , não pode usar apenas --include='/.htaccess' --exclude='.*' , porque a regra não enraizada na verdade tem precedência aqui, você precisa fazer algo mais complicado:
rsync -avP --exclude='/*/**/.htaccess' --include='.htaccess' --exclude=".*" . user@server:/dir
Outras leituras: princípios básicos para filtros de rsync .