Cleaner APEX URLs

Some times for production systems, we need to have cleaner URLs, specially for APEX application in order to hide the details about the host or the parameters that are passed when we go from one page to another in an application.

This post is about giving a simpler way to do the same. I faced similar issue for one of out main production system where objective was to standardise our URLs. We have more then 20 applications running on same APEX installation having different application ID.

Here is what I did.

1) Check the document root of Apache

/slot/ems2154/oracle/product/Apache/Apache/Apache/htdocs in my case.

2) Suppose my APEX URL is some thing like this

http://efops.us.oracle.com:7790/pls/apex/f?p=300:1

and I want to make is some thing like

http://rws60106rems.us.oracle.com:7790/test

just for example I am using “test” as context root. In your case you can have any name. So when we hit this second URL (http://rws60106rems.us.oracle.com:7790/test), Apache will search for a file called test under document root (/slot/ems2154/oracle/product/Apache/Apache/Apache/htdocs).

So we can create a simple file in DocumentRoot location and name that file as test. Below should be the content of that file (in my case).


<html>
<head>
  <title>Some Title</title>
</head>
<frameset rows="100%,*" border="0">
  <frame src="http://your_host/pls/otn/f?p=xxxxx" frameborder="0" />
  <frame frameborder="0" noresize />
</frameset>
</html>

In your case you can change the src=<URL> accordingly. Bounce the Apache.

After that you can hit the URL http://rws60106rems.us.oracle.com:7790/test and it will work. Also it will not show any details about your application.

Hope this helps !!

References:

Patrick Wolf Blog

Advertisements