Skip to content

Conversation

@rusackas
Copy link
Member

SUMMARY

Fixes a redirect loop causing 404 errors when accessing /docs/databases/ directly.

The Problem: The .htaccess file had a catch-all rewrite rule that redirected all /docs/databases* URLs to /docs/configuration/databases. However, since the databases documentation was moved to /docs/databases/, this old target path no longer exists.

This caused confusing behavior:

  • Clicking a link to /docs/databases from within the site worked (client-side navigation)
  • Refreshing the page or pasting the URL directly would 301 redirect to /docs/configuration/databases → 404

The Fix:

  • Remove the catch-all docs/databases.* rewrite rule from .htaccess
  • Update druid.html redirect to point to /docs/databases instead of /docs/configuration/databases
  • Update docs/databases/yugabyte/ redirect to point to /docs/databases
  • Fix broken internal links in quickstart, faq, kubernetes, and timezones docs

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

Before: /docs/databases → 301 redirect → /docs/configuration/databases → 404
After: /docs/databases → 200 OK (loads database overview page)

TESTING INSTRUCTIONS

  1. Build and serve docs locally: cd docs && npm run build && npm run serve
  2. Navigate to http://localhost:3000/docs/databases directly in browser
  3. Verify the page loads correctly without redirecting

ADDITIONAL INFORMATION

  • Has associated issue:
  • Required feature flags:
  • Changes UI
  • Includes DB Migration (follow approval process in SIP-59)
    • Migration is atomic, supports rollback & is backwards-compatible
    • Confirm DB migration upgrade and downgrade tested
    • Runtime estimates and downtime expectations provided
  • Introduces new feature or API
  • Removes existing feature or API

🤖 Generated with Claude Code

The .htaccess file had a catch-all redirect that sent all
/docs/databases* URLs to /docs/configuration/databases, which no
longer exists since databases documentation moved to /docs/databases/.

This caused a confusing behavior where clicking a link to
/docs/databases worked (client-side navigation), but refreshing the
page or directly visiting the URL would 301 redirect to a 404.

Changes:
- Remove the catch-all `docs/databases.*` rewrite rule
- Update druid.html redirect to point to /docs/databases
- Update yugabyte redirect to point to /docs/databases
- Fix broken links in quickstart, faq, kubernetes, and timezones docs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@codeant-ai-for-open-source
Copy link
Contributor

CodeAnt AI is reviewing your PR.


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@github-actions github-actions bot added the doc Namespace | Anything related to documentation label Jan 21, 2026
@codeant-ai-for-open-source
Copy link
Contributor

Sequence Diagram

This PR removes a catch‑all .htaccess redirect and updates redirects/links so that requesting /docs/databases loads the databases overview page directly instead of 301‑redirecting to a nonexistent path. The diagram shows the simplified successful request flow after the fix.

sequenceDiagram
    participant Browser
    participant WebServer as "WebServer (.htaccess)"
    participant DocsSite as "Docs (static site)"

    Browser->>WebServer: GET /docs/databases
    WebServer->>DocsSite: Request /docs/databases (no redirect)
    DocsSite-->>WebServer: 200 OK (databases overview page)
    WebServer-->>Browser: 200 OK (renders /docs/databases)
Loading

Generated by CodeAnt AI

@codeant-ai-for-open-source
Copy link
Contributor

CodeAnt AI finished reviewing your PR.

Copy link
Member

@mistercrunch mistercrunch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@netlify
Copy link

netlify bot commented Jan 21, 2026

Deploy Preview for superset-docs-preview ready!

Name Link
🔨 Latest commit 6ef2cfe
🔍 Latest deploy log https://app.netlify.com/projects/superset-docs-preview/deploys/6971489df0ecb800083562fe
😎 Deploy Preview https://deploy-preview-37316--superset-docs-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Contributor

@bito-code-review bito-code-review bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review Agent Run #ebd211

Actionable Suggestions - 1
  • docs/docs/configuration/timezones.mdx - 1
Additional Suggestions - 2
  • docs/docs/configuration/timezones.mdx - 2
    • Spelling error in docs · Line 23-23
      The word 'serializd' appears to be a typo for 'serialized' in the description of timestamp handling.
      Code suggestion
       @@ -23,1 +23,1 @@
      -The challenge however lies with the slew of [database engines](/docs/databases#installing-drivers-in-docker) which Apache Superset supports and various inconsistencies between their [Python Database API (DB-API)](https://www.python.org/dev/peps/pep-0249/) implementations combined with the fact that we use [Pandas](https://pandas.pydata.org/) to read SQL into a DataFrame prior to serializing to JSON. Regrettably Pandas ignores the DB-API [type_code](https://www.python.org/dev/peps/pep-0249/#type-objects) relying by default on the underlying Python type returned by the DB-API. Currently only a subset of the supported database engines work correctly with Pandas, i.e., ensuring timestamps without an explicit timestamp are serializd to JSON with the server timezone, thus guaranteeing the client will display timestamps in a consistent manner irrespective of the client's timezone.
      +The challenge however lies with the slew of [database engines](/docs/databases#installing-drivers-in-docker) which Apache Superset supports and various inconsistencies between their [Python Database API (DB-API)](https://www.python.org/dev/peps/pep-0249/) implementations combined with the fact that we use [Pandas](https://pandas.pydata.org/) to read SQL into a DataFrame prior to serializing to JSON. Regrettably Pandas ignores the DB-API [type_code](https://www.python.org/dev/peps/pep-0249/#type-objects) relying by default on the underlying Python type returned by the DB-API. Currently only a subset of the supported database engines work correctly with Pandas, i.e., ensuring timestamps without an explicit timestamp are serialized to JSON with the server timezone, thus guaranteeing the client will display timestamps in a consistent manner irrespective of the client's timezone.
    • Unclear phrasing in docs · Line 23-23
      The phrase 'timestamps without an explicit timestamp' is redundant and unclear; it likely means 'timestamps without an explicit timezone'.
      Code suggestion
       @@ -23,1 +23,1 @@
      - The challenge however lies with the slew of [database engines](/docs/databases#installing-drivers-in-docker) which Apache Superset supports and various inconsistencies between their [Python Database API (DB-API)](https://www.python.org/dev/peps/pep-0249/) implementations combined with the fact that we use [Pandas](https://pandas.pydata.org/) to read SQL into a DataFrame prior to serializing to JSON. Regrettably Pandas ignores the DB-API [type_code](https://www.python.org/dev/peps/pep-0249/#type-objects) relying by default on the underlying Python type returned by the DB-API. Currently only a subset of the supported database engines work correctly with Pandas, i.e., ensuring timestamps without an explicit timestamp are serialized to JSON with the server timezone, thus guaranteeing the client will display timestamps in a consistent manner irrespective of the client's timezone.
      + The challenge however lies with the slew of [database engines](/docs/databases#installing-drivers-in-docker) which Apache Superset supports and various inconsistencies between their [Python Database API (DB-API)](https://www.python.org/dev/peps/pep-0249/) implementations combined with the fact that we use [Pandas](https://pandas.pydata.org/) to read SQL into a DataFrame prior to serializing to JSON. Regrettably Pandas ignores the DB-API [type_code](https://www.python.org/dev/peps/pep-0249/#type-objects) relying by default on the underlying Python type returned by the DB-API. Currently only a subset of the supported database engines work correctly with Pandas, i.e., ensuring timestamps without an explicit timezone are serialized to JSON with the server timezone, thus guaranteeing the client will display timestamps in a consistent manner irrespective of the client's timezone.
Review Details
  • Files reviewed - 5 · Commit Range: 6ef2cfe..6ef2cfe
    • docs/docs/configuration/timezones.mdx
    • docs/docs/faq.mdx
    • docs/docs/installation/kubernetes.mdx
    • docs/docs/quickstart.mdx
    • docs/static/.htaccess
  • Files skipped - 0
  • Tools
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ Successful

Bito Usage Guide

Commands

Type the following command in the pull request comment and save the comment.

  • /review - Manually triggers a full AI review.

  • /pause - Pauses automatic reviews on this pull request.

  • /resume - Resumes automatic reviews.

  • /resolve - Marks all Bito-posted review comments as resolved.

  • /abort - Cancels all in-progress reviews.

Refer to the documentation for additional commands.

Configuration

This repository uses Superset You can customize the agent settings here or contact your Bito workspace admin at evan@preset.io.

Documentation & Help

AI Code Review powered by Bito Logo

@rusackas rusackas merged commit 996e0e1 into master Jan 21, 2026
72 checks passed
@rusackas rusackas deleted the fix/databases-redirect branch January 21, 2026 22:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

doc Namespace | Anything related to documentation size/S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants