You'll likely need to change the order of your rules in the <pretty-config>
file. They are matched in order, and the issue here is that your mapping pattern is very general, and will match ALL possible pages at the top level of your domain:
<pattern value="/#{target}" />
To fix this, you need to add mappings for your other top-level pages, and they need to be above your general rule for handling "my_param" redirects:
<url-mapping id="home">
<pattern value="/home" />
<view-id value="/home/home.xhtml"/>
</url-mapping>
<url-mapping id="contact">
<pattern value="/contact" />
<view-id value="/contact/contact.xhtml"/>
</url-mapping>
<url-mapping id="overview">
<pattern value="/#{target}" />
<view-id value="/overview/overview.xhtml"/>
</url-mapping>
You haven't posted how you are issuing the redirect, which you said is working, but if you wanted to do that using PrettyFaces, you'd use something like this config:
<rewrite match="/overview/overview.xhtml?.*\btarget=(\w+)\b" substitute="/$1/" redirect="301" />
Though I would probably use OCPsoft Rewrite for this type of redirect instead, since you can make much more declarative & safe rules. (PrettyFaces is now built on Rewrite)