{"id":3646,"date":"2014-03-21T22:51:00","date_gmt":"2014-03-21T21:51:00","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/oracle-apex-redirect-all-pages-to-one\/"},"modified":"2014-03-21T22:51:00","modified_gmt":"2014-03-21T21:51:00","slug":"oracle-apex-redirect-all-pages-to-one","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/oracle-apex-redirect-all-pages-to-one\/","title":{"rendered":"Oracle APEX: redirect all pages to one"},"content":{"rendered":"<p><img decoding=\"async\" class=\"blog-image aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/2e1ax_default_entry_APEX-logo.jpg\" alt=\"\" \/><\/p>\n<p>This blog will explain how to proceed in order to redirect all the application pages to one single page, prior to their processing and rendering, with Oracle APEX 4.0 and above.<\/p>\n<p>In some cases, like security checks, you may want to redirect all calls of any page in your APEX application to one single page whith particular processing before the target page is rendering or even processing.<\/p>\n<p>I ran into this need again, recently while developing some application.<\/p>\n<h3>The problem to solve:<\/h3>\n<p>Application user has to change his password after first login or password reset. No other page than password change should be accessed until successful change. This page is part of standard administration, as user can also choose to change his password at any time. It therefore contains already links to navigate within the application, which needs to be prevented. In addition any page call within the application, from direct URL entry, must be prevented as well (no cheating allowed).<\/p>\n<h3>Where would you put some code, in APEX, which needs to be accessed by all pages in the application?<\/h3>\n<p>Natural answer would be Page 0, also known as Global Page.<\/p>\n<p>So what? Let&#8217;s put some branch into the &#8216;Before Header&#8217; part of the global page, which would redirect as soon as any page rendering starts, preventing the display of the current page.<\/p>\n<p>Unfortunately, this doesn&#8217;t work&#8230;<\/p>\n<p>Why? Simply because APEX doesn&#8217;t handle it. The first indicator is that you can&#8217;t access any branching in the &#8216;Before Header&#8217; section of the global page, unlike any normal page.<\/p>\n<p><em><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/GlobalPage_NoBranch_Compare.png\" alt=\"GlobalPage_NoBranch_Compare\" width=\"683\" height=\"344\" \/><\/em><\/p>\n<p>You have to trick, using the &#8216;Create &#8211; Add a page control to this page&#8217; wizard, to add such kind of branching. So, you shouldn&#8217;t do it&#8230;<\/p>\n<h3>What else can we do?<\/h3>\n<p>APEX offers another nice feature called by any page of the application: <strong>Application Processes<\/strong>.<\/p>\n<p>And that&#8217;s the key. The branching is not happening as easy as when done declaratively in a page, but adding those few lines of PL\/SQL in the process will make it:<\/p>\n<p>htp.init;<br \/>\n<span style=\"color: #ff9900;\">\u00a0 owa_util.redirect_url(&#8216;f?p=&amp;APP_ID.:CHGPWD:&amp;SESSION.&#8217;);<\/span><br \/>\napex_application.stop_apex_engine;<span style=\"color: #ff9900;\"><span style=\"color: #000000;\"><br style=\"color: #ff9900;\" \/><\/span><\/span><\/p>\n<p>In order to work you also need to tell him when to run. In our case &#8216;On Load: Before Header (page template header)&#8217;.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/ApplicationProcess_start_point.png\" alt=\"ApplicationProcess_start_point\" width=\"614\" height=\"122\" \/><\/p>\n<p>This application process will do the job and even overeager, because the target page itself will loop into death. So you need to set some condition on that process, in order to NOT call it when the current page is the target page. In my case I have also added the login page of the application as user is allowed to get back to it even though the password was not changed. In order to combine condition related to page and user state verification, execution of the application process is linked to the result of a function returning a boolean.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/Condition.png\" alt=\"Condition\" width=\"678\" height=\"272\" \/><\/p>\n<p>Below the code of the function called. To make it nice and avoid having hard coded page numbers, you can use page aliases and retrieve the page number as shown:<\/p>\n<p>FUNCTION is_change_password_required<br \/>\nRETURN BOOLEAN IS<br \/>\nv_username VARCHAR2(30);<br \/>\nv_chg_pwd_required BOOLEAN;<br \/>\nv_found NUMBER;<br \/>\nBEGIN<br \/>\nv_chg_pwd_required := TRUE;<br \/>\nv_username := NVL(v(&#8216;APP_USER&#8217;), USER);<\/p>\n<p>&#8212; Check if current page is Login or change password<br \/>\n&#8212; to enforce login and avoid looping on change password<br \/>\n<span style=\"color: #ff9900;\">SELECT COUNT(*) INTO v_found<br \/>\n<span style=\"color: #ff9900;\">\u00a0\u00a0\u00a0\u00a0\u00a0 FROM apex_application_pages<br \/>\n<span style=\"color: #ff9900;\">\u00a0\u00a0\u00a0\u00a0\u00a0 WHERE application_id = v(&#8216;APP_ID&#8217;)<br \/>\n<span style=\"color: #ff9900;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 AND page_id = v(&#8216;APP_PAGE_ID&#8217;)<br \/>\n<span style=\"color: #ff9900;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 AND page_alias IN (&#8216;LOGIN&#8217;, &#8216;CHGPWD&#8217;);<\/span><\/span><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">IF v_found &gt; 0 THEN<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 v_chg_pwd_required := FALSE;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0 ELSE<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 v_chg_pwd_required := is_new_or_reset_password(v_username);<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0 END IF;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><br \/>\n<span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0 RETURN v_chg_pwd_required;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><br \/>\n<span style=\"color: #000000;\">\u00a0\u00a0\u00a0 END is_change_password_required;<\/span><\/p>\n<p>I hope you will enjoy this solution for your own password change management or other purpose.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This blog will explain how to proceed in order to redirect all the application pages to one single page, prior to their processing and rendering, with Oracle APEX 4.0 and above. In some cases, like security checks, you may want to redirect all calls of any page in your APEX application to one single page&hellip;&nbsp;<\/p>\n","protected":false},"author":17,"featured_media":3647,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","neve_meta_reading_time":"","_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[4134],"tags":[304,437],"class_list":["post-3646","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-server","tag-apex","tag-global-page"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.4 (Yoast SEO v28.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Oracle APEX: redirect all pages to one - dbi services | Blog<\/title>\n<meta name=\"description\" content=\"How to redirect all pages to one in Oracle APEX 4.0 and above\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/oracle-apex-redirect-all-pages-to-one\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Oracle APEX: redirect all pages to one\" \/>\n<meta property=\"og:description\" content=\"How to redirect all pages to one in Oracle APEX 4.0 and above\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/oracle-apex-redirect-all-pages-to-one\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi services | Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/dbiservices\/\" \/>\n<meta property=\"article:published_time\" content=\"2014-03-21T21:51:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/2e1ax_default_entry_APEX-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"148\" \/>\n\t<meta property=\"og:image:height\" content=\"48\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Alain Lacour\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@dbiservices\" \/>\n<meta name=\"twitter:site\" content=\"@dbiservices\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alain Lacour\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-apex-redirect-all-pages-to-one\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-apex-redirect-all-pages-to-one\\\/\"},\"author\":{\"name\":\"Alain Lacour\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/e4eb404f9b8f13a19b50021b3eb66065\"},\"headline\":\"Oracle APEX: redirect all pages to one\",\"datePublished\":\"2014-03-21T21:51:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-apex-redirect-all-pages-to-one\\\/\"},\"wordCount\":648,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-apex-redirect-all-pages-to-one\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/2e1ax_default_entry_APEX-logo.jpg\",\"keywords\":[\"APEX\",\"Global page\"],\"articleSection\":[\"Application Server\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-apex-redirect-all-pages-to-one\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-apex-redirect-all-pages-to-one\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-apex-redirect-all-pages-to-one\\\/\",\"name\":\"Oracle APEX: redirect all pages to one - dbi services | Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-apex-redirect-all-pages-to-one\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-apex-redirect-all-pages-to-one\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/2e1ax_default_entry_APEX-logo.jpg\",\"datePublished\":\"2014-03-21T21:51:00+00:00\",\"description\":\"How to redirect all pages to one in Oracle APEX 4.0 and above\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-apex-redirect-all-pages-to-one\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-apex-redirect-all-pages-to-one\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-apex-redirect-all-pages-to-one\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/2e1ax_default_entry_APEX-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/2e1ax_default_entry_APEX-logo.jpg\",\"width\":148,\"height\":48},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-apex-redirect-all-pages-to-one\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Oracle APEX: redirect all pages to one\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi services Blog\",\"description\":\"#BeSharing\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#organization\"},\"alternateName\":\"dbi Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#organization\",\"name\":\"dbi services\",\"alternateName\":\"dbi\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/dbi-services-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/dbi-services-logo.png\",\"width\":512,\"height\":512,\"caption\":\"dbi services\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/dbiservices\\\/\",\"https:\\\/\\\/x.com\\\/dbiservices\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/dbi-services\\\/\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/dbiservices\"],\"description\":\"Swiss IT consulting and services company specialised in efficient data infrastructures and platforms: databases, application servers, cloud, DevOps, digitalization, analytics, data quality and monitoring. Headquartered in Del\u00e9mont with offices in Nyon, Basel, Bern and Zurich.\",\"email\":\"info@dbi-services.com\",\"telephone\":\"+41 32 422 96 00\",\"legalName\":\"dbi services SA\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/e4eb404f9b8f13a19b50021b3eb66065\",\"name\":\"Alain Lacour\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/ALA_web-min-scaled.jpg\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/ALA_web-min-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/ALA_web-min-scaled.jpg\",\"caption\":\"Alain Lacour\"},\"description\":\"Alain Lacour, part of the Oracle Bern & Zurich team, has more than 20 years of experience in Oracle application development. He specializes in APEX and PL\\\/SQL development, with additional expertise in Java, Oracle WebLogic, and OpenText Documentum middleware. His background also covers business analysis, solution architecture, and service and project management. Prior to dbi services, Alain was Senior Consultant at IMS Health (IQVIA) in Basel and Software Engineer at M&H Informatics. His industry experience covers pharma (including GxP-regulated environments), healthcare, insurance, and banking.\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/alain-lacour\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Oracle APEX: redirect all pages to one - dbi services | Blog","description":"How to redirect all pages to one in Oracle APEX 4.0 and above","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/oracle-apex-redirect-all-pages-to-one\/","og_locale":"en_US","og_type":"article","og_title":"Oracle APEX: redirect all pages to one","og_description":"How to redirect all pages to one in Oracle APEX 4.0 and above","og_url":"https:\/\/www.dbi-services.com\/blog\/oracle-apex-redirect-all-pages-to-one\/","og_site_name":"dbi services | Blog","article_publisher":"https:\/\/www.facebook.com\/dbiservices\/","article_published_time":"2014-03-21T21:51:00+00:00","og_image":[{"width":148,"height":48,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/2e1ax_default_entry_APEX-logo.jpg","type":"image\/jpeg"}],"author":"Alain Lacour","twitter_card":"summary_large_image","twitter_creator":"@dbiservices","twitter_site":"@dbiservices","twitter_misc":{"Written by":"Alain Lacour","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/oracle-apex-redirect-all-pages-to-one\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/oracle-apex-redirect-all-pages-to-one\/"},"author":{"name":"Alain Lacour","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/e4eb404f9b8f13a19b50021b3eb66065"},"headline":"Oracle APEX: redirect all pages to one","datePublished":"2014-03-21T21:51:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/oracle-apex-redirect-all-pages-to-one\/"},"wordCount":648,"commentCount":0,"publisher":{"@id":"https:\/\/www.dbi-services.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/oracle-apex-redirect-all-pages-to-one\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/2e1ax_default_entry_APEX-logo.jpg","keywords":["APEX","Global page"],"articleSection":["Application Server"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/oracle-apex-redirect-all-pages-to-one\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/oracle-apex-redirect-all-pages-to-one\/","url":"https:\/\/www.dbi-services.com\/blog\/oracle-apex-redirect-all-pages-to-one\/","name":"Oracle APEX: redirect all pages to one - dbi services | Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/oracle-apex-redirect-all-pages-to-one\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/oracle-apex-redirect-all-pages-to-one\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/2e1ax_default_entry_APEX-logo.jpg","datePublished":"2014-03-21T21:51:00+00:00","description":"How to redirect all pages to one in Oracle APEX 4.0 and above","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/oracle-apex-redirect-all-pages-to-one\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/oracle-apex-redirect-all-pages-to-one\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/oracle-apex-redirect-all-pages-to-one\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/2e1ax_default_entry_APEX-logo.jpg","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/2e1ax_default_entry_APEX-logo.jpg","width":148,"height":48},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/oracle-apex-redirect-all-pages-to-one\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Oracle APEX: redirect all pages to one"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi services Blog","description":"#BeSharing","publisher":{"@id":"https:\/\/www.dbi-services.com\/blog\/#organization"},"alternateName":"dbi Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dbi-services.com\/blog\/#organization","name":"dbi services","alternateName":"dbi","url":"https:\/\/www.dbi-services.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/09\/dbi-services-logo.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/09\/dbi-services-logo.png","width":512,"height":512,"caption":"dbi services"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/dbiservices\/","https:\/\/x.com\/dbiservices","https:\/\/www.linkedin.com\/company\/dbi-services\/","https:\/\/www.youtube.com\/user\/dbiservices"],"description":"Swiss IT consulting and services company specialised in efficient data infrastructures and platforms: databases, application servers, cloud, DevOps, digitalization, analytics, data quality and monitoring. Headquartered in Del\u00e9mont with offices in Nyon, Basel, Bern and Zurich.","email":"info@dbi-services.com","telephone":"+41 32 422 96 00","legalName":"dbi services SA"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/e4eb404f9b8f13a19b50021b3eb66065","name":"Alain Lacour","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/08\/ALA_web-min-scaled.jpg","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/08\/ALA_web-min-scaled.jpg","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/08\/ALA_web-min-scaled.jpg","caption":"Alain Lacour"},"description":"Alain Lacour, part of the Oracle Bern & Zurich team, has more than 20 years of experience in Oracle application development. He specializes in APEX and PL\/SQL development, with additional expertise in Java, Oracle WebLogic, and OpenText Documentum middleware. His background also covers business analysis, solution architecture, and service and project management. Prior to dbi services, Alain was Senior Consultant at IMS Health (IQVIA) in Basel and Software Engineer at M&H Informatics. His industry experience covers pharma (including GxP-regulated environments), healthcare, insurance, and banking.","url":"https:\/\/www.dbi-services.com\/blog\/author\/alain-lacour\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/3646","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=3646"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/3646\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/3647"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=3646"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=3646"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=3646"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}