Попробуйте что-нибудь с этим
ErrorDocument 404 http://yourdomain.com/
У вас также есть 3 условия и 3 правила.Первое условие будет выполнено, когда 3 условия станут истинными.2 других будут выполнены без условий.Я не уверен, что это твое намерение.Подумайте также о циклах, каждый раз, когда флаг [L] проходит новую итерацию.
ОБНОВЛЕНИЕ
В вашем случае также вариант (упрощенный пример), перейдите оттуда
RewriteEngine On
# check if language exists do redirect
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_URI} ^/(en|zh|ja|ko)
RewriteRule ^(.*)$ ?lang=$1 [L,QSA]
# if not found go to your 404 page
RewriteCond %{REQUEST_URI} !^/(en|zh|ja|ko)
RewriteRule ^(.*)$ /404.html [R=404,L]
См. Также Apachemod_rewrite чтобы почувствовать и понять mod_rewrite и то, что происходит.