2017-10-21 51 views
-1

Je suis actuellement en train de vivre un problème interessant. J'ai fait ma propre façon de déployer automatiquement des sites Web à partir de GitHub, mais j'ai rencontré un problème. GitHub envoie la charge utile sur le webhook évidemment comme une demande POST. J'ai un .htaccess qui encode l'url pour moi. Alors que cela se transforme en une demande GET, n'est-ce pas? Ceci est la ligne dans mon .htaccess:poster et obtenir un conflit (.htaccess)

RewriteRule v1/(.*)$ index.php?request=$1 [QSA,NC,L] 

Et je besoin des variables à partir de là ... Je continue en PHP en faisant un tableau sur les paramètres GET avec:

$url = explode("/", $_GET['request']); 

Dans le traitement Je fais aussi des requêtes GET à l'API GitHubs.

Maintenant sur le je pense que je ne comprends pas. Si je lance le Webhook, mes fichiers ne sont pas téléchargés. Si j'ouvre le site moi-même, tout est mis à jour comme il se doit.

Peut-être que quelqu'un a une idée de la cause et comment la réparer?

+1

_ "Pour qu'il soit transformé en une requête GET, n'est-ce pas?" _ - non, cela n'arriverait que s'il s'agissait d'une redirection _external_, ce qui ferait que le client enverrait une nouvelle requête. Tant qu'il s'agit uniquement d'une redirection interne, la méthode de demande n'a aucune raison de changer. – CBroe

+0

Pourquoi cela annule-t-il le code? 'if ($ _SERVER ['REQUEST_METHOD']! ==" GET ") retour;' @CBroe – BennetJS

Répondre

0

Je viens de résoudre mon propre problème. Après avoir attendu 5 bonnes minutes, j'ai de nouveau exécuté le Webhook et les modifications ont été sur l'espace Web. Donc, probablement l'API GitHub est pour l'instant juste lent, ou il ne met pas à jour souvent.