{"id":12665,"date":"2026-09-10T14:25:00","date_gmt":"2026-09-10T20:25:00","guid":{"rendered":"https:\/\/www.mrc-productivity.com\/techblog\/?post_type=ht_kb&#038;p=12665"},"modified":"2026-09-10T15:14:12","modified_gmt":"2026-09-10T21:14:12","slug":"application-url-aliases","status":"publish","type":"ht_kb","link":"https:\/\/www.mrc-productivity.com\/techblog\/?ht_kb=application-url-aliases","title":{"rendered":"Application URL Aliases"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Say goodbye to deciphering cryptic application names in your browser address bar. The URL Alias feature allows you to serve applications under friendly, memorable URLs\u2014like using <code>\/mrcjava\/servlet\/Customers<\/code> instead of <code>\/mrcjava\/servlet\/MYLIB.I00010s<\/code>\u2014without altering the underlying application. Both the alias and the canonical URL will seamlessly run the same servlet.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configuration<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Navigate to the URL Aliases screen in the m-Power interface by appending <code>\/urlaliases<\/code> to your m-Power URL (e.g., <code>[MPOWERSERVER:PORT]\/webapp\/mrc\/servlet\/mpower#\/urlaliases<\/code>). <\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6aa4afb2a044e&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6aa4afb2a044e\" class=\"wp-block-image size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"\/techblog\/images\/urlAliases.png\" alt=\"\"\/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">From this screen, click the <strong>&#8220;Add Alias&#8221;<\/strong> button and configure the following:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Alias Name<\/strong>: The friendly URL name. This must contain only letters, numbers, and underscores. <strong><em>It cannot contain dots, slashes, or dashes.<\/em><\/strong> Aliases must be unique and cannot conflict with reserved names such as app, quicklist, metalist, datastore, or chart.<\/li>\n\n\n\n<li><strong>Application<\/strong>: The canonical <code>LIB.APPNAME<\/code> servlet (e.g., <code>MYLIB.I00010s<\/code>).<\/li>\n\n\n\n<li><strong>Redirect Original URL<\/strong>: When checked, browsers loaded with the canonical URL (LIB.APPNAME) are auto-redirected to the alias. When unchecked, browsers loaded with the canonical URL (LIB.APPNAME) are <em>not<\/em> auto-redirected to the alias and will load as normal. POST requests and ajax calls are <em>never <\/em>redirected.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Click the <strong>&#8220;Save Changes&#8221;<\/strong> button to save the changes.<\/p>\n\n\n\n<p class=\"wp-block-ht-blocks-messages wp-block-hb-message wp-block-hb-message--withicon is-style-alert\">Every alias change requires a Tomcat restart.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Promoting to Production<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To apply your new URL aliases to your live environment, you must promote both the alias configuration file (<code>\/mrcjava\/WEB-INF\/classes\/servlet-aliases.json<\/code>) and your updated <code>web.xml<\/code> file to your Production environment. Once these files are successfully promoted, you must restart your production Tomcat service for the aliases to take effect.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Developer Notes<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>This feature only changes the URL displayed in the user&#8217;s web browser. Behind the scenes, the system will continue using the original application name for background processes like workflow calls, application-to-application communication, logging, auditing, and API connections.<\/li>\n\n\n\n<li>Links created dynamically by custom code (such as Java or JavaScript) might still output the original application name. These links will still work perfectly, and when a user clicks one to navigate to a new page, their browser will automatically redirect them to your friendly alias.<\/li>\n\n\n\n<li>URL aliasing is only supported for standard, compiled applications. Interpretive apps\u2014such as Data Models and AI applications\u2014are not supported.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Troubleshooting<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If an alias fails to map at startup, check the Tomcat catalina logs for <code>URL alias<\/code> messages. The most common cause is the application lacking a servlet entry in the web.xml. This is resolved by running the update-webxml.bat file on the server or recompiling the app.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Say goodbye to deciphering cryptic application names in your browser address bar. The URL Alias feature allows you to serve applications under friendly, memorable URLs\u2014like using \/mrcjava\/servlet\/Customers instead of \/mrcjava\/servlet\/MYLIB.I00010s\u2014without altering the underlying application. Both the alias and the canonical URL will seamlessly run the same servlet. Configuration Navigate to&#8230;<\/p>\n","protected":false},"author":10,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"ht-kb-category":[152],"ht-kb-tag":[],"class_list":["post-12665","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-administration"],"_links":{"self":[{"href":"https:\/\/www.mrc-productivity.com\/techblog\/index.php?rest_route=\/wp\/v2\/ht-kb\/12665","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mrc-productivity.com\/techblog\/index.php?rest_route=\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/www.mrc-productivity.com\/techblog\/index.php?rest_route=\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/techblog\/index.php?rest_route=\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/techblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12665"}],"version-history":[{"count":7,"href":"https:\/\/www.mrc-productivity.com\/techblog\/index.php?rest_route=\/wp\/v2\/ht-kb\/12665\/revisions"}],"predecessor-version":[{"id":12672,"href":"https:\/\/www.mrc-productivity.com\/techblog\/index.php?rest_route=\/wp\/v2\/ht-kb\/12665\/revisions\/12672"}],"wp:attachment":[{"href":"https:\/\/www.mrc-productivity.com\/techblog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12665"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/techblog\/index.php?rest_route=%2Fwp%2Fv2%2Fht-kb-category&post=12665"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/techblog\/index.php?rest_route=%2Fwp%2Fv2%2Fht-kb-tag&post=12665"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}