Middleware web
Use the query param "rewrite" to rewrite the url using the middleware.
Example 1: Rewrite to Google
/?rewrite=https://www.google.com
Example 2: Rewrite to a web that shows the headers received by its server
/?rewrite=https://request-headers-web.vercel.app/
Request Headers
Here are the headers sent to the server to generate this web.
- accept: */*
- accept-encoding: gzip, br, zstd, deflate
- connection: close
- date: Wed, 01 Apr 2026 12:42:35 GMT
- forwarded: for=216.73.216.120;host=middleware-web.vercel.app;proto=https;sig=0QmVhcmVyIDM5NzBkNjU1NTY2NDA5ZjIyMWNmYzVmYmEzMWZhMmZjMmQ2OGI0NWI2ODQxMDM5NzA3OWY2ZDRlNjZlNjRhMDM=;exp=1775047655
- host: middleware-web.vercel.app
- user-agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
- x-forwarded-for: 216.73.216.120
- x-forwarded-host: middleware-web.vercel.app
- x-forwarded-port: 443
- x-forwarded-proto: https
- x-matched-path: /
- x-real-ip: 216.73.216.120
- x-vercel-deployment-url: middleware-cqpjx93ev-hector-parras-projects-7eb46b93.vercel.app
- x-vercel-forwarded-for: 216.73.216.120
- x-vercel-id: cle1::56wxh-1775047355514-e952a786e5a6
- x-vercel-internal-bot-category: ai_crawler
- x-vercel-internal-bot-check: pass
- x-vercel-internal-bot-name: claudebot
- x-vercel-internal-ingress-bucket: bucket018
- x-vercel-internal-ingress-port: 18444
- x-vercel-internal-rusty-4372: 1
- x-vercel-internal-rusty-4487: 1
- x-vercel-ip-as-number: 16509
- x-vercel-ip-city: Columbus
- x-vercel-ip-continent: NA
- x-vercel-ip-country: US
- x-vercel-ip-country-region: OH
- x-vercel-ip-latitude: 39.9625
- x-vercel-ip-longitude: -83.0061
- x-vercel-ip-postal-code: 43215
- x-vercel-ip-timezone: America/New_York
- x-vercel-ja4-digest: t13d1011h2_61a7ad8aa9b6_3fcd1a44f3e3
- x-vercel-proxied-for: 216.73.216.120
- x-vercel-proxy-signature: Bearer 3970d655566409f221cfc5fba31fa2fc2d68b45b68410397079f6d4e66e64a03
- x-vercel-proxy-signature-ts: 1775047655
- x-vercel-sc-basepath:
- x-vercel-sc-headers: {"Authorization":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkb21haW4iOiJtaWRkbGV3YXJlLXdlYi52ZXJjZWwuYXBwIiwib3duZXJJZCI6InRlYW1fMWxacGczQlJMVDRMeUx2UzYxWFFvMnliIiwiZW52IjoicHJvZHVjdGlvbiIsInVubGltaXRlZCI6ZmFsc2UsImlzcyI6InNlcnZlcmxlc3MiLCJyZXF1ZXN0SWQiOiI1Nnd4aC0xNzc1MDQ3MzU1NTE0LWU5NTJhNzg2ZTVhNiIsImRlcGxveW1lbnRJZCI6ImRwbF9HRmg1WmRHV0w3UW44UkdqVFNmRTlYNTZxRmZwIiwibmV4dFZlcnNpb24iOiIxNS4wLjAtY2FuYXJ5LjU0IiwicHJvamVjdElkIjoicHJqX09lZklnZ2p4OFliMk9YSGljVW9yZVREUVkzZDgiLCJibG9jayI6ZmFsc2UsImV4cCI6MTc3NTA0ODI3NiwiaWF0IjoxNzc1MDQ3MzU2LCJwbGFuIjoiaG9iYnkifQ.LLomoHRM8vLKmumjXWh5Y1917Kkm_JqlFNCqpjHfhNY","x-vercel-ept":"1","x-vercel-function-platform":"vercel\/proxy+serverless"}
- x-vercel-sc-host: iad1.suspense-cache.vercel-infra.com
- x-vercel-sc-runtime-cache: 1