I am trying to do this type of mod_rewrite:

*if request_uri isn't abc or def* change client side url from


to server side url


Basically things i want would be to place a string to some url without customers understanding if s/he is not attempting to access certain predefined web addresses.

To date I've

RewriteCond %{REQUEST_URI} ^/abc$
RewriteRule ^(\w+)/?$ xyz/$1 [L]

but this appears to really go to town a loop (/abc//abc//abc...)

Give a condition to check on for that component you are adding. You should use one more RewriteCond or extend the regex. Try something similar to:

RewriteCond %{REQUEST_URI} !^/?(xyz(/.*)|abc|def)/?$
RewriteRule ^(\w+)/?$ xyz/$1 [L]