J'utilise Apache 2.2 avec mod_rewrite.mod_rewrite rediriger vers URL avec protocole propriétaire
Existe-t-il un moyen de forcer mod_rewrite à réécrire l'intégralité de l'URL, y compris le protocole? Je sais que cela va réécrire automatiquement l'URL complète si la redirection contient http://
au début mais je suis en train de rediriger vers une URL qui utilise un protocole propriétaire: fcp://
Quand je l'ajoute en tant que redirect il redirige juste l'URL de mon serveur avec la réécriture ajouté comme ceci:
http://www.example.com/fcp://@mailstaff....
puis-je configurer le module pour traiter fcp://
comme une URL complète si je ne cours pas pour cela?
MISE À JOUR: Voici le code que je utilise:
RewriteCond ${externals:$2|Unknown} !Unknown
RewriteRule ^(internal|external)/(.*)/? ${externals:$2} [R=301,NE,L,NS]
A l'intérieur du externals
RewriteMap, j'ai une ligne comme ceci:
firstclass-email fcp://@mailstaff.example.com/
Quand je vais à déclencher la RewriteRule par aller à:
http://example.com/internal/firstclass-email
Il sera incorrec TLY me rediriger ici:
http://example.com/fcp://@mailstaff.example.com/
Si je change la partie du protocole de fcp://
à http://
, Apache réalisera c'est une URL absolue et correctement. Je veux qu'Apache reconnaisse fcp://
devrait aussi être absolu.
C'est ce que je craignais :(Y a-t-il un moyen de changer cela dans le monde des utilisateurs? – matpie
Essayez d'utiliser un script qui gère la redirection au lieu d'Apache – Gumbo
"Apache ne peut gérer ..." - à proprement parler, il est * mod_rewrite * Les autres modules (comme mod_alias: 'Redirect' /' RedirectMatch') semblent pouvoir les "gérer" correctement. – DocRoot