diff --git a/apps/docs/public/.htaccess b/apps/docs/public/.htaccess
index 7d7c15c..8c0a040 100644
--- a/apps/docs/public/.htaccess
+++ b/apps/docs/public/.htaccess
@@ -62,7 +62,8 @@ ErrorDocument 404 /codemap/404.html
SetEnvIf Request_URI "^/codemap/index\.html$" IS_CODEMAP_HOME
- Header always set Link "; rel=\"api-catalog\"; type=\"application/linkset+json\", ; rel=\"ai-catalog\"; type=\"application/ai-catalog+json\", ; rel=\"service-desc\"; type=\"application/json\", ; rel=\"describedby\"; type=\"application/json\", ; rel=\"describedby\"; type=\"text/plain\", ; rel=\"alternate\"; type=\"text/markdown\"" env=IS_CODEMAP_HOME
+ # expr covers REDIRECT_ rename after internal rewrites (e.g. /codemap/index.html -> /codemap/index.md).
+ Header always set Link "; rel=\"api-catalog\"; type=\"application/linkset+json\", ; rel=\"ai-catalog\"; type=\"application/ai-catalog+json\", ; rel=\"service-desc\"; type=\"application/json\", ; rel=\"describedby\"; type=\"application/json\", ; rel=\"describedby\"; type=\"text/plain\", ; rel=\"alternate\"; type=\"text/markdown\"" "expr=%{ENV:IS_CODEMAP_HOME} || %{ENV:REDIRECT_IS_CODEMAP_HOME}"
# Extensionless file needs explicit type (else text/plain fails the scan).
@@ -71,7 +72,7 @@ ErrorDocument 404 /codemap/404.html
-
+
Header set Access-Control-Allow-Origin "*"
@@ -88,12 +89,17 @@ RewriteRule ^ - [L]
# /codemap/ -> /codemap/index.md
RewriteCond %{HTTP:Accept} text/markdown [NC]
-RewriteCond %{HTTP:Accept} !text/markdown\s*;\s*q\s*=\s*0(\.0*)?(\s*[;,]|\s*$) [NC]
+RewriteCond %{HTTP:Accept} !text/markdown(?:\s*;\s*(?!q\s*=)[^;,]+)*\s*;\s*q\s*=\s*0(\.0*)?(\s*[;,]|\s*$) [NC]
RewriteRule ^$ /codemap/index.md [L,T=text/markdown]
+# /codemap/index.html -> /codemap/index.md (same representation as /codemap/)
+RewriteCond %{HTTP:Accept} text/markdown [NC]
+RewriteCond %{HTTP:Accept} !text/markdown(?:\s*;\s*(?!q\s*=)[^;,]+)*\s*;\s*q\s*=\s*0(\.0*)?(\s*[;,]|\s*$) [NC]
+RewriteRule ^index\.html$ /codemap/index.md [L,T=text/markdown]
+
# /codemap/ -> twin .md
RewriteCond %{HTTP:Accept} text/markdown [NC]
-RewriteCond %{HTTP:Accept} !text/markdown\s*;\s*q\s*=\s*0(\.0*)?(\s*[;,]|\s*$) [NC]
+RewriteCond %{HTTP:Accept} !text/markdown(?:\s*;\s*(?!q\s*=)[^;,]+)*\s*;\s*q\s*=\s*0(\.0*)?(\s*[;,]|\s*$) [NC]
RewriteCond %{REQUEST_FILENAME} !\.md$ [NC]
RewriteCond %{DOCUMENT_ROOT}/codemap/$1.md -f
RewriteRule ^(.+?)/?$ /codemap/$1.md [L,T=text/markdown]