Woocommerce 기반 사이트와 관련된 문제를 디버깅하는 데 어려움을 겪고 있습니다. 내가 체크 아웃 할 때, 모든 주문을 기입 장소 주문하기 버튼을 클릭 한 후 성공 JSON으로 응답WooCommerce는 체크 아웃시 규칙을 다시 작성합니다.
https://www.shop.com/wp-admin/admin-ajax.php
에 AJAX 요청이 : 다음
{"result":"success","redirect":"https:\/\/www.shop.com\/checkout\/pay\/?key=order_50b9f4b86e75f&order=4491"}
을 그리고 브라우저는 실제로는 https://www.shop.com/checkout/pay/?key=order_50b9f4b86e75f&order=4491으로 가고 있지만 문제는이 요청에서/payay없이/checkout으로 리디렉션 (헤더를 통해 302 리디렉션)되고 모든 필드가 비어 있다는 것입니다. 하지만 그것은 내 경우에는 페이팔 (paypal) 인 woocommerce의 기본 결제 게이트웨이로 리디렉션하는 데 사용되었습니다. 주문은 실제로 admin에 표시되고 표시되지만 사용자는 지불을 위해 페이팔로 직접 연결되지 않습니다.
아파치에서 nginx 서버로 전환했을 때 나타납니다.
server {
listen 80;
server_name shop.com www.shop.com;
root /var/www/shop;
index index.php;
error_log /var/log/nginx/shop_error.log notice;
rewrite_log on;
location/{
try_files $uri $uri/ /index.php;
}
location ~* \.(?:ico|css|js|gif|jp?g|png) {
expires 100d;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass localhost:9000;
}
# include /var/www/shop/nginx.conf;
location = /wp-config.php {
deny all;
}
}
server {
listen 443;
server_name shop.com www.shop.com;
error_log /var/log/nginx/shop_error.log notice;
rewrite_log on;
root /var/www/shop;
index index.php;
ssl on;
ssl_certificate /etc/nginx/sslchain.crt;
ssl_certificate_key /etc/nginx/server.key;
ssl_client_certificate /etc/nginx/cert.ca-bundle;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
ssl_prefer_server_ciphers on;
location/{
try_files $uri $uri/ /index.php;
}
#include /var/www/shop/nginx.conf;
location ~* \.(?:ico|css|js|gif|jp?g|png) {
expires 100d;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass localhost:9000;
}
location = /wp-config.php {
deny all;
}
}
내가 nginx를 재 작성 로그를 보면서 제대로 적어도 나는 이것이 올바른 생각, 포스트되는 index.php/체크 아웃/지불 요청을 리디렉션 :
다음은이 사이트에 대한 내의 nginx의 설정입니다.
이제는 아무에게도 정확한 문제를 지적하지 않겠습니다. 비록 내가 감사 하겠지만, 나는 woocommerce 재 작성 규칙을 알아 내려고 노력하고 있으며,/checkout/pay를 처리하는 스크립트는 어디에 있으며, 직접 디버깅을 시도 할 것이다. 전에로 리다이렉트하는 이유를 이해해야한다. 리디렉션합니다.
"페이"페이지가 [woocommerce_pay] 만 Woocommerce 단축 코드를 가지고 있으며, 그 URL은 잘 될 같다 :
내가 단축 코드에서 함수에 디버그 덤프를 배치하려고 "//체크 아웃/지불"/ shortcode-pay.php와 아무 일도 일어나지 않으므로 그 전에 리디렉션됩니까?캐시 플러그인이 모두 사용 중지되었습니다. 여기에 순간에 모든 활성 플러그인의 목록은 다음과 같습니다
akismet
debug-bar
gravityforms
secure-wordpress
tinymce-advanced
vslider
woocommerce
woocommerce-compare-products
woocommerce-custom-product-tabs-lite
woocommerce-debug-bar
woocommerce-delivery-notes
woocommerce-fedex
woocommerce-gateway-paypal-advanced
woocommerce-gravityforms-product-addons
woocommerce-product-bundles
woocommerce-usps
woocommerce-USPS
woodojo
woodojo-downloads
woosidebars
wordpress-importer
wordpress-seo
wp-dbmanager
에 here 같았한다고 생각합니다. 예를 들어, try_files $ uri $ uri//index.php?$args /index.php?q=$request_uri는 또한 사용자가 설명하는 실패를 유발합니다. 증상으로는 결제 페이지의 HTML 인 AJAX 응답, 총계 및 결제 패널에 반투명 오버레이가 남았으며, 위치 0의 JSON에서 예기치 않은 토큰 <이 포함됩니다 – jyoung