Comment puis-je stocker mes règles de réécriture dans une firebase database?

Je développe un nouveau site et je souhaite stocker mes règles de réécriture dans une firebase database, plutôt que dans les fichiers .htaccess.

J’ai un autre site qui utilise Opensef ( http://sourceforge.net/projects/opensef/ ) avec un Joomla! installation qui fait cela, mais pas même à 100% comment cela fonctionne sous le capot.

Comment puis-je stocker ces règles dans une firebase database, les interroger sur demande et les redirect sur l’URL propre si elles sont détectées? Existe-t-il une meilleure façon de procéder au lieu de charger un fichier .htaccess (il peut y avoir 1 000 entrées)?

Je vous remercie,

Vous pouvez obtenir mod_rewrite pour générer une carte à partir d’une source externe telle que l’exécution d’un fichier PHP ou Python qui peut obtenir les données de la firebase database et créer une carte mod_rewrite.

http://httpd.apache.org/docs/2.0/misc/rewriteguide.html (Voir tout en bas)

Par exemple

RewriteMap quux-map prg:/path/to/map.quux.pl 

Bonne chance

En supposant que toutes ces pages sont finalement dans Joomla, je pense que l’utilisation de .htaccess ou de mod_rewrite est une erreur.

Je pense que vous feriez bien d’apprendre comment fonctionne Openserf. J’imagine qu’il a un petit morceau de code qui s’exécute tôt pour chaque requête qui interroge la firebase database et émet un redirect via PHP en cas de succès. Un autre avantage de cette approche est qu’il devrait même être possible d’avoir des liens de réécriture Joomla sur ses pages pour qu’ils pointent vers la version propre en premier lieu, ce qui évite à l’utilisateur une redirection inutile.

Incidemment, c’est comme ça que le module Pathauto de Drupal le fait, et je l’utilise tout le temps sur des sites à fort volume avec plusieurs milliers de pages.

Je pense que la meilleure approche pour utiliser les règles stockées dans une firebase database est la suivante:

  • Stockez les règles dans votre firebase database via votre panneau d’administration de votre site.
  • Ensuite, après avoir mis à jour la firebase database, générez un nouveau fichier .htaccess en utilisant les règles de la firebase database en utilisant votre solution de langage côté serveur.
  • Remplacez l’ancien .htaccess par un nouveau.

Cela évite la charge du serveur. C’est similaire à la solution d’Aiden Bell.

Prenez le UrlRewriteFilter , coupez -le pour utiliser une firebase database et utilisez-le dans Tomcat au lieu d’Apache.

Tomcat est un bon serveur Web et peut faire beaucoup de choses qu’Apache peut faire (comme FastCGI pour PHP), et écrire des trucs comme ça est sortingvial comparé à l’écriture pour Apache.

Ce que vous voulez probablement, c’est une règle de réécriture unique pour gérer toutes les requêtes inconnues qui arrivent, puis les transmettre à un petit script qui gérera les recherches et générera des redirections. Vous pouvez même ignorer complètement la règle de réécriture et utiliser la directive Apache ErrorDocument pour transmettre des URL inconnues dans le script.

Vous avez été plutôt mince sur les détails de ce nouveau site, mais vous pourriez envisager de créer vous-même un contrôleur frontal pour l’application et de prendre en charge toutes les URL entrantes. De nombreux frameworks d’applications Web (la plupart?) Adoptent cette approche.