diff --git a/.env.example b/.env.example
index ecaba9c..ad334fe 100644
--- a/.env.example
+++ b/.env.example
@@ -5,3 +5,9 @@ ADMIN_PASSWORD=admin123
CORS_ORIGIN=http://localhost:5173
UPLOAD_DIR=./server/uploads
DATA_DIR=./server/data
+
+# Leave unset to auto-use Vite base:
+# local: /api/...
+# prod: /citpl_website/api/...
+# Only set if the API is on a different host than the site.
+# VITE_API_BASE=
diff --git a/dist/.htaccess b/dist/.htaccess
new file mode 100644
index 0000000..0967df7
--- /dev/null
+++ b/dist/.htaccess
@@ -0,0 +1,15 @@
+# Deployed under /citpl_website/ on Apache.
+# Requires: mod_rewrite, mod_headers, and (for API) mod_proxy + mod_proxy_http
+
+RewriteEngine On
+
+# Proxy Node API + uploads (start server with: node server/index.js)
+RewriteRule ^api/(.*)$ http://127.0.0.1:3001/api/$1 [P,L]
+RewriteRule ^uploads/(.*)$ http://127.0.0.1:3001/uploads/$1 [P,L]
+
+# Allow admin login/section preview to iframe this page (same origin)
+