2016-06-28 8 views
0

ich einen Node.js-Server haben:Führen Sie PHP mit node.js | Umleiten mit .htaccess

app.use(express.static(__dirname + '/public')); 

Das Problem: Wenn ich eine PHP-Datei wie folgt ausgeführt werden soll:

var xhttp= new XMLHttpRequest(); 

xhttp.onreadystatechange = function(){ 
    if(xhttp.readyState==4 && xhttp.status==200){ 

     var text = xhttp.responseText; 
     console.log(text); 

    } 
} 

xhttp.open("GET","php/gethighscore.php",true); 
xhttp.send(); 

Ich werde der Code aus der php-Datei als Antwort:

<?php 
echo "test"; 
?> 

ich weiß, dass Node.js mir die statische Datei senden, aber ich weiß nicht, wie das zu vermeiden.

ich bereits mit der .htaccess-Datei versucht:

RewriteEngine On 

#Redirecting the php 
RewriteCond %{REQUEST_FILENAME}  !-f 
RewriteCond %{REQUEST_FILENAME}  !-d 
RewriteRule ^(.php)$ my-webhost.com/public/php/ [L] 

#Redirecting for node 
RewriteCond %{REQUEST_FILENAME}  !-f 
RewriteCond %{REQUEST_FILENAME}  !-d 
RewriteRule ^(.*)$ http://localhost:64332/$1 [P] 

Aber es funktioniert nicht.

Wenn ich gehe zu my-webhost.com/public/php/gethighscore.php bekomme ich das ausgeführte PHP-Skript. Wenn ich zu my-webhost.com/public/ gehe, kann ich meine Anwendung ohne node.js benutzen und das php-Skript funktioniert gut.

Ich hoffe, Sie können mir helfen. :)

Antwort

0

Ok Ihrem Projekt ersetzen, habe ich es schon habe. Ich habe gerade

xhttp.open("GET","php/gethighscore.php",true); 

zu

xhttp.open("GET","public/php/gethighscore.php",true); 
0

Versuchen Sie dieses Ihren my_project Name Name

RewriteEngine on 
RewriteCond $1 !^(index\.php|images|asset|js|robots\.txt) 
RewriteRule ^(.*)$ /my_project /index.php/$1 [L]