 <p><em>You haven't specified Joomla version so I'm assuming 1.6/7/2.5 in my answer.</em></p> <p><strong>Short Answer:</strong> If you're using Joomla!'s default .htaccess then all you have to do is create a Joomla! menu to each of your components views with the right alias eg. <code>portal</code> for your default component access ie. <code>?option=com_tmportal</code>.</p> <p>This is what the default <code>.htaccess</code> does it passes all of the elements after the base URL to <code>index.php</code> to help select the component and view.</p> <p><strong>Longer Answer</strong> When you create a component for Joomla! you specify <a href="http://docs.joomla.org/Developing_a_Model-View-Controller_%28MVC%29_Component_for_Joomla!2.5_-_Part_03" rel="nofollow">the menu settings for each view</a> using an XML file usual the same name as the view file in it's <code>view/tmpl/</code> directory.</p> <p>Typically the url to a specific view &amp; task in a component would look like these:</p> <pre><code>?option=com_mycomponent ?option=com_mycomponent&amp;view=userdetails ?option=com_mycomponent&amp;view=userdetails&amp;task=main </code></pre> <p>Joomla!'s framework will automatically use the <code>view</code> &amp; <code>task</code> params to get your components correct controller and view (or sub-view). I'm not sure that it does anything with the <code>module</code> param that you have in your URL's so I'd guess you're trapping and processing that yourself.</p>