Oracle Apex pretty URL

1.1k Views Asked by At

i need help for a problem. Before someone complain. I have post the same question in another forum but i didn't get any useful help there. https://community.oracle.com/tech/developers/discussion/4497783

I have seen there are a lot of things if i search by google but i am a total newbie so i hope that someone could help me.

I have a dedicated Server with apex running. I have point a domain to my apex application, so far , so good.

Now i have the url like following www.mydomain.com/apex/workspace_name/r/application

What i want to do is, that the user don't see the part "/apex/workspace_name/r" when he is working with the application.

Is there a relative easy way to do that? Something like .htaccess?

Many thanks and regards,

Andreas

1

There are 1 best solutions below

2
On

Using an Apache HTTPD web server to reverse proxy your APEX connections, you can use the ProxyPass and ProxyPassReverse directives of the mod_proxy module to alter URL paths that the user sees:

ProxyPass /r /apex/workspace_name/r
ProxyPassReverse /r /apex/workspace_name/r

See the Apache documentation for more details: https://httpd.apache.org/docs/2.4/mod/mod_proxy.html#proxypass

In my case, I used the mod_proxy_ajp module to communicate with the cluster of Tomcat application servers running ORDS, as follows:

####################################################### 
# 
#       APEX Virtual Host 
# 
####################################################### 
<VirtualHost 192.168.1.101:443> 

#   General setup for the virtual host 
DocumentRoot "/var/www/html" 
ServerName apps.mydomain.com  
ServerAdmin root@localhost 
ErrorLog "/etc/httpd/logs/apex.ssl_error.log" 

#    Redirect root URL to a default application
RedirectMatch ^/$ /ords/f?p=200 

... other directives here ...
    
<IfModule mod_proxy_ajp.c>
     ProxyRequests Off
     ProxyPreserveHost On

     <Proxy balancer://ords_balancer>
         BalancerMember ajp://appserver1:8009 route=server1
         BalancerMember ajp://appserver2:8009 route=server2
     </Proxy>

     # Redirect /ords to the load balancer
     ProxyPass /ords balancer://ords_balancer/ords stickysession=JSESSIONID|jsessionid
     ProxyPassReverse /ords balancer://ords_balancer/ords
     ProxyPassReverseCookiePath /ords /

     # Redirect /i to the load balancer
     ProxyPass /i balancer://ords_balancer/i stickysession=JSESSIONID|jsessionid
     ProxyPassReverse /i balancer://ords_balancer/i

     <Proxy *>
         Order deny,allow
         Deny from none
         Allow from localhost
     </Proxy>

     <Location /balancer-manager>
         SetHandler balancer-manager
     </Location>
</IfModule>
</VirtualHost>