Providing short vanity URLs | HCL Digital Experience
You might want to make your vanity URLs as short and simple as possible for your customers. You can create vanity URLs that contain only the vanity segment by omitting the string /wps/vanityurl. In this case, you must use a web server and define a rewrite rule. If you also use IBM Web Application Bridge, or if you have static files in the root of the HTTP server document directory, adapt the rewrite rule.
About this task
Example: You advertise your shoe sale by using the short vanity URL http://hostname/shoe-sale
. The HTTP server rewrites this
URL to http://hostname/wps/vanityurl/shoe-sale
. The portal then
redirects the user to http://hostname/wps/portal/home/shoe_promotion_page
.
To be able to use such short vanity URLs, you must use a web server. For details about using a web server with your portal, see the topic about Preparing a remote web server for your environment in this portal product documentation.
Procedure
- Open the file httpd.conf with an editor.
-
Activate the following modules:
proxy_module proxy_http_module rewrite_module
-
Activate the rewrite engine by adding the following line:
RewriteEngine On
-
Add the rewrite rule by adding the following line:
This rule redirects all single path requests to the vanity URL servlet. TheRewriteRule ^/([^/]+)$ /wps/vanityurl/$1 [P]
P
flag at the end of the line tells the rewrite engine to use a proxy request. This flag is required for the IBM® WebSphere® Application Server plug-in to handle the request without an extra redirect. - Optional:
If your website editors work in projects and you want them to be able to use short
vanity URLs by the HTTP server, you need an extra rewrite rule as follows:
This rule rewrites all URLs that start withRewriteRule ^/\$project/([^/]+)/([^/]+)$ /wps/vanityurl/\$project/$1/$2 [P]
/$project/project name/vanity name
. - Optional:
The rules that are given in the previous steps might prevent static files in the
document directories of your HTTP server from being served. To have them served, add
conditions before the rewrite rule as in the following example:
In this example,RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-l
f
means file,d
means directory, andl
means symbolic link. With these conditions added, the portal does not apply the rewrite rule on requests that match a file, directory, or symbolic link. The user accesses the file, directory, or link and is not redirected to the target website of the vanity URL. For more information, see the information under Apache Module mod_rewrite.Note: Depending on your environment, it is good practice not to use periods in your vanity URLs to avoid conflicts with files in the HTTP server context root. - Optional:
If you use Web Application Bridge, add a rewrite rule to avoid namespace
conflicts.
Web Application Bridge must be mapped to the root context. As a result, vanity URLs and Web Application Bridge are in the same namespace, which can result in conflicts. Therefore, if you use Web Application Bridge, you might also define a more specific rewrite rule than the rule given earlier. Example:
With this rewrite rule, the portal redirects only names that consist of only one segment and contain no periods. This rewrite rule avoids conflicts with file names, such as shoe_sale.html. For project work, modify the rule as required.RewriteRule ^/([^/\.]+)$ /wps/vanityurl/$1 [P]
- Optional:
If required, configure the preview link in the vanity URL user interface to show the
short vanity URL.
The user interface for managing vanity URLs has a preview link. By default, this link goes directly to the vanity servlet, and the portal shows the full vanity URL, for example
http://hostname/wps/vanityurl/shoe-sale
. You can configure the preview link to point to the HTTP server instead, which shows the short version of the vanity URL. To configure the preview link target, you use the portal configuration taskenable-vanityurl-httpserver-preview
. For more information, see Configuring the vanity URL preview link.