apiVersion: "v1" protocol: "http" address: ":80" description: "WordPress 6.9.4" commands: # WordPress 6.9.4 static routes. Keep batch routes before broad routes. - regex: "^/wp-json/batch/v1/?(?:\\?.*)?$" methods: [GET, HEAD] handler: '{"code":"rest_no_route","message":"No route was found matching the URL and request method.","data":{"status":404}}' headers: - "Content-Type: application/json; charset=UTF-8" - "X-Powered-By: PHP/8.3.31" - "X-Robots-Tag: noindex" - "Allow: POST" - "Server: Apache/2.4.67 (Debian)" statusCode: 404 - regex: "^/wp-json/batch/v1/?(?:\\?.*)?$" methods: [POST] # Static empty/malformed-batch response; bodies are not matchable here. handler: '{"code":"rest_missing_callback_param","message":"Missing parameter(s): requests","data":{"status":400,"params":["requests"]}}' headers: - "Content-Type: application/json; charset=UTF-8" - "X-Powered-By: PHP/8.3.31" - "X-Robots-Tag: noindex" - "X-Content-Type-Options: nosniff" - "Access-Control-Expose-Headers: X-WP-Total, X-WP-TotalPages, Link" - "Access-Control-Allow-Headers: Authorization, X-WP-Nonce, Content-Disposition, Content-MD5, Content-Type" - "Allow: POST" - "Server: Apache/2.4.67 (Debian)" statusCode: 400 # Batch aliases used by common WordPress clients. - regex: "^/(?:index\\.php)?\\?rest_route=/batch/v1(?:&.*)?$" methods: [POST] handler: '{"code":"rest_missing_callback_param","message":"Missing parameter(s): requests","data":{"status":400,"params":["requests"]}}' headers: - "Content-Type: application/json; charset=UTF-8" - "X-Powered-By: PHP/8.3.31" - "X-Robots-Tag: noindex" - "X-Content-Type-Options: nosniff" - "Access-Control-Expose-Headers: X-WP-Total, X-WP-TotalPages, Link" - "Access-Control-Allow-Headers: Authorization, X-WP-Nonce, Content-Disposition, Content-MD5, Content-Type" - "Allow: POST" - "Server: Apache/2.4.67 (Debian)" statusCode: 400 - regex: "^/(?:index\\.php)?\\?rest_route=/batch/v1(?:&.*)?$" methods: [GET, HEAD] handler: '{"code":"rest_no_route","message":"No route was found matching the URL and request method.","data":{"status":404}}' headers: - "Content-Type: application/json; charset=UTF-8" - "X-Powered-By: PHP/8.3.31" - "X-Robots-Tag: noindex" - "X-Content-Type-Options: nosniff" - "Allow: POST" - "Server: Apache/2.4.67 (Debian)" statusCode: 404 - regex: "^/index\\.php/wp-json/batch/v1/?(?:\\?.*)?$" methods: [GET, HEAD] handler: '{"code":"rest_no_route","message":"No route was found matching the URL and request method.","data":{"status":404}}' headers: - "Content-Type: application/json; charset=UTF-8" - "X-Powered-By: PHP/8.3.31" - "X-Robots-Tag: noindex" - "X-Content-Type-Options: nosniff" - "Allow: POST" - "Server: Apache/2.4.67 (Debian)" statusCode: 404 - regex: "^/index\\.php/wp-json/batch/v1/?(?:\\?.*)?$" methods: [POST] handler: '{"code":"rest_missing_callback_param","message":"Missing parameter(s): requests","data":{"status":400,"params":["requests"]}}' headers: - "Content-Type: application/json; charset=UTF-8" - "X-Powered-By: PHP/8.3.31" - "X-Robots-Tag: noindex" - "Allow: POST" - "Server: Apache/2.4.67 (Debian)" statusCode: 400 - regex: "^/(?:index\\.php)?\\?rest_route=/(?:&.*)?$" methods: [GET, HEAD] handler: '{"name":"Example Site","description":"Example WordPress site","gmt_offset":"0","timezone_string":"","namespaces":["oembed/1.0","wp/v2","wp-site-health/v1","wp-block-editor/v1","wp-abilities/v1"],"authentication":[],"routes":{"/":{"namespace":"","methods":["GET"]},"/batch/v1":{"namespace":"","methods":["POST"]},"/wp/v2/posts":{"namespace":"wp/v2","methods":["GET","POST"]},"/wp/v2/users":{"namespace":"wp/v2","methods":["GET","POST"]}},"site_logo":0,"site_icon":0,"site_icon_url":""}' headers: - "Content-Type: application/json; charset=UTF-8" - "X-Powered-By: PHP/8.3.31" - "X-Robots-Tag: noindex" - "X-Content-Type-Options: nosniff" - "Access-Control-Expose-Headers: X-WP-Total, X-WP-TotalPages, Link" - "Access-Control-Allow-Headers: Authorization, X-WP-Nonce, Content-Disposition, Content-MD5, Content-Type" - "Allow: GET" - "Server: Apache/2.4.67 (Debian)" statusCode: 200 - regex: "^/(?:index\\.php)?\\?rest_route=/wp/v2/posts(?:&.*)?$" methods: [GET, HEAD] handler: '[{"id":1,"date":"2026-07-18T13:54:26","date_gmt":"2026-07-18T13:54:26","guid":{"rendered":"https:\/\/example.org\/?p=1"},"modified":"2026-07-18T13:54:26","modified_gmt":"2026-07-18T13:54:26","slug":"hello-world","status":"publish","type":"post","link":"\/hello-world\/","title":{"rendered":"Hello world!"},"content":{"rendered":"\\n

Welcome to WordPress. This is your first post. Edit or delete it, then start writing!<\\/p>\\n","protected":false},"excerpt":{"rendered":"

Welcome to WordPress. This is your first post. Edit or delete it, then start writing!<\\/p>\\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[]}]' headers: - "Content-Type: application/json; charset=UTF-8" - "X-Powered-By: PHP/8.3.31" - "X-Robots-Tag: noindex" - "X-WP-Total: 1" - "X-WP-TotalPages: 1" - "Allow: GET" - "Server: Apache/2.4.67 (Debian)" statusCode: 200 - regex: "^/(?:index\\.php)?\\?rest_route=/wp/v2/users(?:&.*)?$" methods: [GET, HEAD] handler: '[{"id":1,"name":"author","url":"https:\/\/example.org","description":"","link":"\/author\/author\/","slug":"author","avatar_urls":{},"meta":[]}]' headers: - "Content-Type: application/json; charset=UTF-8" - "X-Powered-By: PHP/8.3.31" - "X-Robots-Tag: noindex" - "X-WP-Total: 1" - "X-WP-TotalPages: 1" - "Allow: GET" - "Server: Apache/2.4.67 (Debian)" statusCode: 200 - regex: "^(/|/index\\.php|/index\\.html)(\\?.*)?$" methods: [GET, HEAD] handler: | Example Site – Example WordPress site

Example Site

Example WordPress site

headers: - "Content-Type: text/html; charset=UTF-8" - "X-Powered-By: PHP/8.3.31" - "Server: Apache/2.4.67 (Debian)" statusCode: 200 - regex: "^/wp-json/?(?:\\?.*)?$" methods: [GET, HEAD] handler: '{"name":"Example Site","description":"Example WordPress site","gmt_offset":"0","timezone_string":"","namespaces":["oembed/1.0","wp/v2","wp-site-health/v1","wp-block-editor/v1","wp-abilities/v1"],"authentication":[],"routes":{"/":{"namespace":"","methods":["GET"]},"/batch/v1":{"namespace":"","methods":["POST"]},"/wp/v2/posts":{"namespace":"wp/v2","methods":["GET","POST"]},"/wp/v2/users":{"namespace":"wp/v2","methods":["GET","POST"]}},"site_logo":0,"site_icon":0,"site_icon_url":""}' headers: - "Content-Type: application/json; charset=UTF-8" - "X-Powered-By: PHP/8.3.31" - "X-Robots-Tag: noindex" - "X-Content-Type-Options: nosniff" - "Access-Control-Expose-Headers: X-WP-Total, X-WP-TotalPages, Link" - "Access-Control-Allow-Headers: Authorization, X-WP-Nonce, Content-Disposition, Content-MD5, Content-Type" - "Server: Apache/2.4.67 (Debian)" statusCode: 200 - regex: "^/wp-json/wp/v2/?(?:\\?.*)?$" methods: [GET, HEAD] handler: '{"namespace":"wp/v2","methods":["GET"],"endpoints":[{"methods":["GET"]}]}' headers: - "Content-Type: application/json; charset=UTF-8" - "X-Powered-By: PHP/8.3.31" - "X-Robots-Tag: noindex" - "Allow: GET" - "Server: Apache/2.4.67 (Debian)" statusCode: 200 - regex: "^/wp-json/wp/v2/posts(?:\\?.*)?$" methods: [GET, HEAD] handler: '[{"id":1,"date":"2026-07-18T13:54:26","date_gmt":"2026-07-18T13:54:26","guid":{"rendered":"https:\/\/example.org\/?p=1"},"modified":"2026-07-18T13:54:26","modified_gmt":"2026-07-18T13:54:26","slug":"hello-world","status":"publish","type":"post","link":"\/hello-world\/","title":{"rendered":"Hello world!"},"content":{"rendered":"\\n

Welcome to WordPress. This is your first post. Edit or delete it, then start writing!<\\/p>\\n","protected":false},"excerpt":{"rendered":"

Welcome to WordPress. This is your first post. Edit or delete it, then start writing!<\\/p>\\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[]}]' headers: - "Content-Type: application/json; charset=UTF-8" - "X-Powered-By: PHP/8.3.31" - "X-Robots-Tag: noindex" - "X-Content-Type-Options: nosniff" - "X-WP-Total: 1" - "X-WP-TotalPages: 1" - "Allow: GET" - "Server: Apache/2.4.67 (Debian)" statusCode: 200 - regex: "^/wp-json/wp/v2/posts(?:\\?.*)?$" methods: [POST] handler: '{"code":"rest_cannot_create","message":"Sorry, you are not allowed to create posts as this user.","data":{"status":401}}' headers: - "Content-Type: application/json; charset=UTF-8" - "X-Powered-By: PHP/8.3.31" - "X-Robots-Tag: noindex" - "Allow: GET, POST" - "Server: Apache/2.4.67 (Debian)" statusCode: 401 - regex: "^/wp-json/wp/v2/users\\?.*context=edit.*$" methods: [GET, HEAD] handler: '{"code":"rest_cannot_edit","message":"Sorry, you are not allowed to edit users.","data":{"status":401}}' headers: - "Content-Type: application/json; charset=UTF-8" - "X-Powered-By: PHP/8.3.31" - "X-Robots-Tag: noindex" - "Allow: GET" - "Server: Apache/2.4.67 (Debian)" statusCode: 401 - regex: "^/wp-json/wp/v2/users(?:\\?.*)?$" methods: [GET, HEAD] handler: '[{"id":1,"name":"author","url":"https:\/\/example.org","description":"","link":"\/author\/author\/","slug":"author","avatar_urls":{},"meta":[]}]' headers: - "Content-Type: application/json; charset=UTF-8" - "X-Powered-By: PHP/8.3.31" - "X-Robots-Tag: noindex" - "X-Content-Type-Options: nosniff" - "X-WP-Total: 1" - "X-WP-TotalPages: 1" - "Allow: GET" - "Server: Apache/2.4.67 (Debian)" statusCode: 200 - regex: "^/wp-json/.*$" methods: [GET, HEAD] handler: '{"code":"rest_no_route","message":"No route was found matching the URL and request method.","data":{"status":404}}' headers: - "Content-Type: application/json; charset=UTF-8" - "X-Powered-By: PHP/8.3.31" - "X-Robots-Tag: noindex" - "Allow: GET" - "Server: Apache/2.4.67 (Debian)" statusCode: 404 - regex: "^/xmlrpc\\.php(?:\\?.*)?$" methods: [GET] handler: "XML-RPC server accepts POST requests only." headers: - "Content-Type: text/plain;charset=UTF-8" - "X-Powered-By: PHP/8.3.31" - "Allow: POST" - "Server: Apache/2.4.67 (Debian)" statusCode: 405 - regex: "^/xmlrpc\\.php(?:\\?.*)?$" methods: [POST] handler: "faultCode-32700faultStringparse error. not well formed" headers: - "Content-Type: text/xml; charset=UTF-8" - "X-Powered-By: PHP/8.3.31" - "Server: Apache/2.4.67 (Debian)" statusCode: 200 - regex: "^/wp-login\\.php(?:\\?.*)?$" methods: [GET, HEAD] handler: | Log In ‹ Example Site — WordPress

headers: - "Content-Type: text/html; charset=UTF-8" - "X-Powered-By: PHP/8.3.31" - "Set-Cookie: wordpress_test_cookie=WP%20Cookie%20check; path=/; HttpOnly" - "X-Frame-Options: SAMEORIGIN" - "Content-Security-Policy: frame-ancestors 'self'" - "Referrer-Policy: strict-origin-when-cross-origin" - "Server: Apache/2.4.67 (Debian)" statusCode: 200 - regex: "^/wp-login\\.php(?:\\?.*)?$" methods: [POST] handler: "Log In ‹ Example Site — WordPress
Error: The username or password you entered is incorrect.
" headers: - "Content-Type: text/html; charset=UTF-8" - "X-Powered-By: PHP/8.3.31" - "Set-Cookie: wordpress_test_cookie=WP%20Cookie%20check; path=/; HttpOnly" - "X-Frame-Options: SAMEORIGIN" - "Server: Apache/2.4.67 (Debian)" statusCode: 200 - regex: "^/wp-admin(?:/.*)?(?:\\?.*)?$" methods: [GET, HEAD] handler: "" headers: - "Location: /wp-login.php?redirect_to=%2Fwp-admin%2F&reauth=1" - "X-Powered-By: PHP/8.3.31" - "X-Redirect-By: WordPress" - "Server: Apache/2.4.67 (Debian)" statusCode: 302 - regex: "^/readme\\.html(?:\\?.*)?$" methods: [GET, HEAD] handler: | WordPress › ReadMe

WordPress 6.9.4

First Things First

Welcome. WordPress is a very special project to me. Every developer and contributor adds something unique to the mix.

headers: - "Content-Type: text/html" - "X-Powered-By: PHP/8.3.31" - "Server: Apache/2.4.67 (Debian)" statusCode: 200 fallbackCommand: handler: "Page not found — Example Site

Page not found

The requested URL was not found on this server.

" headers: - "Content-Type: text/html; charset=UTF-8" - "X-Powered-By: PHP/8.3.31" - "Server: Apache/2.4.67 (Debian)" statusCode: 404