it-swarm.com.de

Stimmt etwas mit meinem .htaccess nicht oder stimmt etwas serverseitig nicht?

Ich verwende die folgende .htaccess -Datei in einem meiner Unterverzeichnisse auf meinem Server:

Options +FollowSymlinks
RewriteEngine on
RewriteRule (.*)\.png generate.php?userid=$1

Meine nicht-produktive Umgebung hat das alles problemlos gemeistert.

Wenn dies jedoch in meiner Live-Produktionsumgebung implementiert ist und auf die zugegriffen wird, geht die Serverlast über das Dach und es werden keine Webseiten geladen, bis der Prozess beendet wird (ich kenne den Prozess nicht wirklich, der andere Administrator erledigt dies nur für mich).

Ist es also meine Produktionsumgebung, die falsch eingerichtet ist, oder ist mein Code schlampig/falsch?

1
esqew

Es gibt wahrscheinlich nicht genug Informationen, um alle Möglichkeiten auszuschließen, aber ich würde zwei Dinge versuchen:

  • Fügen Sie das [L] -Flag hinzu, das für letzte Regel steht, wodurch die rekursive Auswertung vermieden wird.
  • Definieren Sie Ihre Wege mehr. Insbesondere der Zielpfad könnte mit einem/beginnen. Auf diese Weise werden Fehler vermieden, falls Sie nicht auf beiden Systemen dieselben Pfade verwenden. Ich würde auch die Sonderzeichen ^ und $ verwenden, um die Regel genauer zu definieren. So etwas wie:

RewriteRule ^ (*.). Png $ /generate.php?userid=$1 [L]

1
Itai

Sie müssen Detektivarbeit geleistet haben, um zu vermuten, dass dieses Umschreiben die Ursache ist. Werden beim direkten Laden der URL jedoch ähnliche Serverprobleme festgestellt? wenn du gehst zu

http://www.example.com/generate.php?userid=example

Suchen Sie nach anderen Unterschieden zwischen Ihren Umgebungen:

  • wie Dateiberechtigungen
  • pHP-Konfigurationen
  • welche Grafikbibliotheken sind installiert und bevorzugt
  • Aktivieren Sie das Rewritelog auf der Apache-Ebene conf/vhost und vergleichen Sie

Sie haben mehr Informationen als wir, aber wenn der exakte .htaccess und die genaue Apache-Version/Konfiguration vorausgesetzt werden, erscheint es unwahrscheinlich, dass sich das Umschreiben im Live-Betrieb anders verhält als in der Produktion.

1
Gavin C