2017-06-28 2 views
0

Ich brauche Anfragen anApache JS => PHP Verarbeitung

mysite.com/app.js?c=ClientID

über PHP zu verarbeiten - wie es

mysite kommen würde .com/app.php? c = ClientID

bedeutet das Einrichten von RewriteRule zu Apache.

habe ich versucht, zu verwenden:

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^(.*\.)(js)$ app.php?src=$1 [L,QSA] 
</IfModule> 

Aber ich

eine Anfrage

Bad Request

Ihr Browser bekam gesendet, dass dieser Server nicht verstehen kann. -Client gesendet malformed Host-Header

There is the request

Was ich falsch mache?

Danke

+2

Diese Fehlermeldung, die Sie erhalten, klingt seltsam, wenn Sie die von Ihnen eingerichteten Regeln beachten. Bitte werfen Sie einen Blick in Ihre Browser-Entwicklungskonsole und prüfen Sie dort die Anfrage. Welche Header werden tatsächlich mit der Anfrage gesendet? Was ist die vollständige Antwort? Bitte fügen Sie diese Dinge der obigen Frage hinzu. Vielen Dank. – arkascha

+0

Ich habe den Screenshot hinzugefügt. – David

+0

Hilft uns nicht wirklich, da Sie die Dinge anonymisiert haben. Sieht der 'HOST'-Header für Sie in Ordnung aus? Dann werfen Sie einen Blick in Ihre Fehlerprotokolldatei für HTTP-Server, um weitere Hinweise zu erhalten. Überlegen Sie auch, ob Sie die Neuschreiben-Protokollierung aktivieren, um zu verstehen, was vor sich geht. – arkascha

Antwort

0

mit diesem Fest:

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^app\.js$ /app.php?&%{QUERY_STRING} 
</IfModule> 

Dank!

0

mit folgenden Versuchen, bestehende app.js nicht angenommen wird.

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.+)\.js $1.php [QSA,L] 

Für schlechte Anforderungsfehler können Sie diese article und bestätigen auch überprüfen Sie mit der rechten Apache-Version für die Verwendung, wenn die Richtlinie wie <IfModule mod_rewrite.c> verwenden, das nur in Apache 2.4 unterstützt wird.

+1

@downvoter Was ist der Grund für den Downvote? op hat eindeutig einen Fehler in der Rewrite-Regel, der ein Grund für einen fehlerhaften Request-Fehler sein könnte, wie hier erwähnt https://serverfault.com/questions/285964/apache2-400-bad-request-with-rewrite-rules-nothing-in-error -Log. –