2016-12-27 5 views
0

Ich startete gerade eine WordPress-Website, die ein Formular hat, um Benutzern zu erlauben, etwas zu wählen, das sie kaufen möchten. Wir implementieren einen Einkaufswagen-Dienst eines Drittanbieters, der URLs in sehr spezifischen Formaten benötigt. Ich möchte die POST-Variablen abrufen und dann eine Weiterleitung (im Grunde ein GET) an diesen Einkaufswagen von Drittanbietern ausgeben. Ich wollte nur eine buy.php-Datei erstellen, die genau das tat - die POST-Variablen abrufen und die URL erstellen.Expose php-Datei auf einer WordPress gehosteten Website

Das Problem ist, dass ich nicht weiß, wie man die buy.php Seite aussetzt. Ich werde immer auf die Seite 404.html weitergeleitet.

Ich dachte, ich würde einen neuen Speicherort erstellen, der vor allen anderen ist, aber das Serverprotokoll beschwerte sich darüber, die Datei nicht finden zu können. Sobald ich dieses Problem behoben hatte, wurde die Datei nicht berührt, aber die Anfrage wurde von der 404-Seite bearbeitet.

Auf dem Server läuft Nginx. Config ist unten:

server { 

    access_log off; 
    error_log /var/log/site-name.com_error_log; 
    root /var/www/vhosts/site-name.com/httpdocs; 

    listen 80; 
    listen 443 ssl; 
    ssl_certificate /XXX.pem; 
    ssl_certificate_key /XXX-cert.key; 

    # server_name www.site-name.com ; 
    server_name site-name.com ; 

    # i can't get this /buy to work 
    location /buy/ { 
    # what do I put here to be used in a form Action 
    } 

    location/{ 
    root /var/www/vhosts/site-name.com/httpdocs; 
    index index.html index.php index.htm; 
     try_files $uri $uri/ /index.php?$args; 
    } 

    location @handler { 
    rewrite//index.php; 
    } 

    location ~ .php/ { 
    rewrite ^(.*.php)/ $1 last; 
    } 

    location ~ .php$ { 
    try_files $uri /index.php; 
    expires off; 
    fastcgi_pass 127.0.0.1:8080; 
    fastcgi_buffers 256 4k; 
    fastcgi_buffer_size 32k; 
    fastcgi_busy_buffers_size 256k; 
    fastcgi_read_timeout 3600s; 


#  fastcgi_param HTTPS $fastcgi_https; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    fastcgi_param MAGE_RUN_CODE default; 
    fastcgi_param MAGE_RUN_TYPE store; 

    include fastcgi_params; 
} 

# WordPress single site rules. 
# Designed to be included in any server {} block. 

# This order might seem weird - this is attempted to match last if rules below fail. 
# http://wiki.nginx.org/HttpCoreModule 

    # Add trailing slash to */wp-admin requests. 
    rewrite /wp-admin$ $scheme://$host$uri/ permanent; 

    location ~* \.(jpg|jpeg|png|gif|ico|css|js|eot|woff|woff2|ttf)$ { 
     expires 365d; access_log off; log_not_found off; 
    } 
} 
+0

Sie benötigen mehr Informationen zu liefern, wie in dem PHP-Skript ist, warum sind Sie nicht die Aktion auf dem Formular Einstellung usw. Zusätzlich implementieren Sie Ihren eigenen Warenkorb? – cmorrissey

+0

Ich habe mehr Infos oben hinzugefügt. Wir verwenden einen Einkaufswagenanbieter eines Drittanbieters. – Scott

Antwort

0

OK, ich fand es heraus. Ich brauchte nur ein Umschreiben Erklärung für diesen Abschnitt, und eine andere, es zu testen:

location /buy { 
    rewrite//wp-content/themes/uncode-child/buy/index.php; 
} 

location /test { 
    rewrite//wp-content/themes/uncode-child/buy/test.html; 
} 
Verwandte Themen