Procédure visant à empêcher les réacheminements d'URL conviviales non valides pour le contenu Web

Si la validation d'URL conviviales pour le contenu Web est activée et que les informations de chemin d'une URL conviviale entrante ne sont pas valides, le portail répond avec le code d'état HTTP défini par la propriété de service de configuration de portail et le paramètre de page friendly.pathinfo.validation.errorCode. Toutefois, selon la configuration, le portail n'envoie pas toujours le code d'état HTTP configuré. Le portail peut identifier des conditions qui requièrent un autre code d'état HTTP.

Si vous utilisez le paramètre friendly.pathinfo.validation.errorTextProvider ou friendly.pathinfo.validation.errorResourceBundle, vous pouvez ignorer ces informations. Lorsque l'un ou l'autre de ces paramètres est utilisé, le portail interrompt le traitement de la demande et envoie un message d'erreur contenant uniquement le code d'état HTTP configuré et un message d'état localisé si une URL conviviale contient des informations de chemin non valides. Si vous n'utilisez pas ces paramètres pour configurer la validation d'URL conviviales et si vous souhaitez que le portail envoie le code d'état HTTP configuré au lieu du code 302, vous devez limiter le nombre de réacheminements d'URL conviviales vers des URL conviviales valides pour le contenu Web. Par défaut, le portail impose un réacheminement en utilisant le code d'état HTTP 302 si l'URL entrante ne contient pas le préfixe d'URL conviviale de la page traitée ou si les informations de chemin contenues dans l'URL conviviale ne correspondent pas aux informations de chemin provenant de l'état du portail. Etant donné que le composant de validation d'URL conviviales retire les informations de chemin de l'état si elles ne sont pas valides, le portail envoie le code d'état 302 au lieu du code d'état HTTP configuré. Utilisez la combinaison de propriétés de service de configuration de portail présentée ci-dessous afin d'empêcher les réacheminements d'URL conviviales lorsqu'une URL conviviale pour le contenu Web n'est pas valide :
  • friendly.redirect.enabled=false
  • friendly.pathinfo.validation.redirect.onsuccess.enabled=true
Pour plus d'informations sur ces propriétés, voir Service de configuration dans la section des liens connexes.
Si vous limitez le nombre de réacheminements d'URL conviviales, affectez au paramètre com.ibm.portal.theme.hasBaseURL la valeur true. Si vous possédez un thème personnalisé, assurez-vous qu'il écrit la balise HTML base. Mettez à jour le paramètre de thème en utilisant l'interface de configuration XML comme illustré dans l'exemple de script XML suivant :

<?xml version="1.0" encoding="UTG-8"?>

<request
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:noNamespaceSchemaLocation="PortalConfig_8.5.0.xsd"
type="update">

	<!-- This sample sets the hasBaseURL parameter in the Portal 8.5 Theme. -->
	<portal action="locate">
		<theme action="update" uniquename="ibm.portal.85Theme" >
			<parameter name="com.ibm.portal.theme.hasBaseURL"
				type="string" update="set">true</parameter>
		</theme>
	</portal>
</request>