You almost had it. The variable your condition matches against is a host, and not a URI. If you need to check the host, it must only be the hostname (not URI path at all), e.g. site.com
. You need to use a %{REQUEST_URI}
variable for what you are matching against:
RewriteCond %{HTTP_HOST} ^(www\.)?site\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/videos/
RewriteRule ^/?member-videos(.*)$ /videos$1 [L,R=301]
The example you gave doesn't have the community
part in the URI at all, if it's not in the URL, it won't appear in the string sent to the rewrite engine. But your rules has /community
in them, so if in fact you need that path, then:
RewriteCond %{HTTP_HOST} ^(www\.)?site\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/community/videos/
RewriteRule ^/?community/member-videos(.*)$ /community/videos$1 [L,R=301]