# Hotfix10 / Build Fix 45 Apache Homepage Routing Correction

- Release: **R14.28.20 Build Fix 45 / Hotfix10**
- Trigger: BF44 completed the full TypeScript/Biome/BusyTeX/Vite build, trusted runtime activation, API health, Cloud Compile health, Console Gateway health and Apache syntax validation, then failed the first Apache frontend probe because `GET /` returned HTTP 404.

## Root cause and correction

The public-route fallback used a `<Directory .../dist>` rewrite that intentionally left existing files and directories alone. The site root resolves to the `dist` directory itself, so `/` depended on the host Apache `mod_dir`/`DirectoryIndex` behavior instead of following the same trusted server-rendered route path used by `/about` and other public SPA routes. On the production host this produced the observed root 404.

BF45 removes that environmental ambiguity without weakening health checks:

- explicitly enables Apache `mod_dir`;
- declares `DirectoryIndex index.html` for the production dist;
- routes the empty per-directory path (`/`) directly to `http://127.0.0.1:3100/__texise/render/`;
- keeps the generic non-file/non-directory renderer fallback for all other public SPA routes;
- permanently redirects `/index.html` to canonical `/`;
- leaves the strict `GET /` and `GET /about` deployment health checks intact;
- enriches failed frontend diagnostics with `dist/index.html` presence plus HTTP status probes for `/`, `/index.html`, and `/about`.

The trusted renderer still reads the built `dist/index.html` as its immutable application shell and injects route-specific SEO metadata. External `/__texise/*` access remains blocked by Apache.

## Production evidence inherited from BF44 deployment

The BF44 server log establishes that the following production gates pass before this routing failure:

- pinned pnpm install and lock policies;
- custom validation;
- strict TypeScript (`tsgo`);
- Biome lint;
- BusyTeX full compiler provisioning;
- 357-check static contract audit;
- Vite production browser build;
- production dist activation and release metadata;
- trusted runtime staging and module-graph validation;
- SaaS MySQL/admin preflight;
- trusted API activation and health;
- private Cloud Compile health;
- Linux Terminal Pro Console Gateway health;
- Apache syntax validation.

BF45 therefore changes only the Apache homepage/public-route boundary, release identity, diagnostics and regression coverage.
