Fallback routing sans mod_rewrite via FallbackResource

Utilise mod_rewrite si disponible, sinon FallbackResource (Apache 2.2.16+,
aucun module supplémentaire requis) pour les hébergements mutualisés
qui n'ont pas mod_rewrite activé.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-04 20:30:36 +02:00
parent 8efb7e30df
commit 6f55663984
+16 -14
View File
@@ -1,25 +1,27 @@
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
# ── Sécurité ──────────────────────────────────────────────────────────────────
Options -Indexes -MultiViews
# ── En-têtes HTTP transmis à PHP ───────────────────────────────────────────────
# Nécessaire pour que Laravel reçoive le token Authorization (API) et CSRF
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
SetEnvIf X-XSRF-Token "(.*)" HTTP_X_XSRF_TOKEN=$1
# ── Routage vers le contrôleur frontal ────────────────────────────────────────
# FallbackResource ne requiert pas mod_rewrite (disponible depuis Apache 2.2.16).
# Tout chemin qui ne correspond pas à un fichier ou répertoire existant
# est servi par index.php — comportement identique à la règle mod_rewrite ci-dessous.
<IfModule mod_rewrite.c>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Handle X-XSRF-Token Header
RewriteCond %{HTTP:x-xsrf-token} .
RewriteRule .* - [E=HTTP_X_XSRF_TOKEN:%{HTTP:X-XSRF-Token}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
<IfModule !mod_rewrite.c>
FallbackResource /index.php
</IfModule>