J'ai cherché la réponse à ceci pour quelques semaines. Suivez les instructions suivantes pour JBoss: http://tapomay.blogspot.com/2011/11/clean-urls-with-drupal-urlrewritefilter.html
Il lie à un article où l'on avait fait pour Tomcat: http://www.brianshowalter.com/blog/running_drupal_on_quercus
En un mot, vous voulez réécrire l'URL uniquement si le fichier demandé ou répertoire ne pas exister sur le système. C'est pourquoi UrlRewriteFilter ne suffit pas. Vous devez ajouter un filtre de classe à UrlRewriteFilter pour vérifier cela.
Les instructions auxquelles j'ai lié utilisent une ancienne version de UrlRewriteFilter (3.2.0), cela fonctionne probablement aussi bien avec la version plus récente (je l'ai fait avec 3.2.0).
Vous utiliserez que conjointement avec un filtre de classe (il y a un dépôt de projet google pour cela, grâce à l'auteur de l'article lié à https://code.google.com/p/drupalrewritefilter/)
Les instructions indiquent pour ajouter les fichiers à Eclipse, mais j'ai utilisé Netbeans (il suffit de démarrer un nouveau projet avec des sources existantes).
Vous devez ajouter le fichier servlet.api.jar (sur votre système, si vous avez installé J2EE) et le fichier UrleRewriteFilter.jar que vous utilisez pour le chemin de classe pour la génération.
Placez le fichier résultant drupalrewritefilter.jar
et le fichier UrlRewriteFilter.jar
que vous utilisez dans WEB-INF/lib
Votre WEB-INF/web.xml devrait avoir cette directive filtre:
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>logLevel</param-name>
<param-value>TRACE</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Utilisez ce lieu de celui du site pour UrlRewriteFilter dit utiliser.
REMARQUE: L'installation de Quercus contient au début une balise DOCTYPE pour l'API Servlet 2.2 ou 2.3. Mais la balise <filter>
est dans l'API Servlet 2.4 ou supérieure. Votre application fera une erreur à moins que vous ne liez à une nouvelle DTD API Server ou (et c'est ce que j'ai fait) il suffit de supprimer la balise DOCTYPE tous ensemble.
Ensuite, vous devriez avoir un WEB-INF/urlwrite.xml avec:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
"http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
<class-rule class="com.brianshowalter.drupalrewrite.DrupalRule" />
</urlrewrite>
Recharger votre application drupal, puis allez activer double
de URLS propre possible [URL Rewrite sur Glassfish avec Quercus' PHP] (http://stackoverflow.com/questions/3215723/rewrite-url-on-glassfish-with-quercus-php) –