2017-01-23 3 views
-1

Ich werde www.example.com verwenden, um mein Problem zu beschreiben, da ich fühle, dass es gut genug in dieser Situation passt.Curl schneidet URL in PHP

Bei der Ausgabe von Inhalten von www.example.com funktioniert curl gut. Aber wenn www.example.com/index.php verwendet wird, wird ein Not Found-Fehler angezeigt:

Die angeforderte URL /index.php wurde nicht auf diesem Server gefunden.

Es ist ein CMS auf mehreren Websites verwendet, und der Code ist überall gleich, die gleiche Curl-Funktion wird verwendet. Es funktioniert auf anderen Websites. Daher schließe ich Code-Probleme aus. Werden relative Pfade verwendet, kann es die Serverkonfiguration sein? Nicht zu viele Infos, aber ich konnte kein ähnliches Problem finden, ich hoffe jemand hat mehr Ahnung davon. Von phpinfo, es ist curl 7.21, und zum Beispiel auf einer anderen Website, wo es funktioniert, es ist 7.40, und php 5.3 und 5.4 jeweils. Kann bei Bedarf mehr Informationen von phpinfo geben.

Am wichtigsten, www.otherexample.com/index.php funktioniert auch gut (jede andere Website mit Parametern). Aus irgendeinem Grund versucht es zu relativen Pfad in example.com zu gehen und den Host, Domäne zu ignorieren?

Von der Befehlszeile funktioniert curl -L www.example.com/index.php gut.

+0

Warum müssen Sie example.com/index.php aufrufen, wenn example.com den Standard trotzdem verwenden würde? – Takarii

+0

Ich brauche index.php nicht, es ist ein Beispiel. In Wirklichkeit muss es einen Artikel für die Vorschau holen. aber Tatsache ist, dass es nicht über die Domäne hinausgeht. Curl nimmt nur die Parameter nach, /index.php in diesem Fall, wenn es die gleiche Website www.example.com ist. Für andere Websites funktioniert es. – iwanttorip

+1

index.php war wahrscheinlich ein schlechtes Beispiel, um Ihren Punkt dann zu veranschaulichen. Veröffentlichen Sie Ihren Code, der die Locke behandelt, so dass es überprüft werden kann, um zu sehen, was das Problem sein könnte. – Takarii

Antwort

0

Ein Kollege löste das Problem, indem er 127.0.0.1 als Host-Adresse für Curl-Anfragen verwendete.