Je utilise Apache 2.4. J'ai configuré un serveur HTTP Apache pour héberger mon application Invision, mon application est liée à des documents externes sur Google. J'essaie de rediriger vers un document Google externe à partir de l'application mais Apache n'aime pas cela.
Voici l'URL qu'il essaie d'accéder
http://example.com/redirect?
url=https%3A%2F%2Fdocs.google.com%2Fforms%2Fd%2Fe%2F1234567890%2Fviewform
J'ai réécrit l'URL en utilisant ce qui suit:
RewriteCond %{QUERY_STRING} ^(.+)(forms.+)
RewriteRule ^redirect(.*) https://docs.google.com/%2 [R=302,QSD]
et après la réécriture, j'obtiens ceci.
https://docs.google.com/forms%2Fd%2/e%2F12345678900%Fviewform
Cela fait ce qu'il est censé faire et si je remplace personnellement le %2F par '/' cela m'amène au document donc je sais que c'est proche. L'URL redirige vers Google Drive, seulement j'obtiens une
page 404 non trouvée
message de Google Drive. Je sais que je dois décoder l'URL pour atteindre le document avec succès mais comment puis-je le faire en utilisant .htaccess ou tout autre moyen?
AllowEncodedSlahes on (J'ai également essayé NoDecode) //conf VirtualHost et conf Apache
J'ai essayé de faire correspondre et remplacer les %2F en utilisant Regex mais ils ne sont pas reconnus et j'obtiens une erreur 500 - Erreur interne du serveur.
Je comprends que cela semble être un bogue/problème continu mais est-ce que quelqu'un a une solution à ce problème incroyablement douloureux s'il vous plaît? Je suis à bout avec cela, Merci.
2 votes
Pouvez-vous s'il vous plaît inclure l'URL demandée que vous essayez de trouver.
0 votes
@MrWhite J'ai modifié ma question pour inclure l'URL demandée que je suis en train de faire correspondre