htaccess réécrire les problèmes

Je suis complètement coincé avec les réécritures htaccess qui ne fonctionnent pas sur mon serveur. Il s’agit d’une réécriture d’index.php de base pour Codeigniter, et fonctionne correctement lors du développement sur mon Mac, mais échoue sur mon serveur (CentOS, Apache 2, WHM)

RewriteEngine on RewriteCond $1 !^(index\.php|images|css|js|robots\.txt) RewriteRule ^(.*)$ /index.php/$1 [L] 

Tenter de charger / about / affichera la page index.php. /index.php/about affichera la page correcte. J’ai essayé toutes les combinaisons d’options auxquelles je peux penser sans succès. Un exemple de mon rewrite.log est ci-dessous.

 [dev.tirius.co.uk/sid#5d65288][rid#5e37c00/initial] (3) [per-dir /home/tirius/subdomains/dev/public_html/] add path info postfix: /home/tirius/subdomains/dev/public_html/about -> /home/tirius/subdomains/dev/public_html/about/ [dev.tirius.co.uk/sid#5d65288][rid#5e37c00/initial] (3) [per-dir /home/tirius/subdomains/dev/public_html/] ssortingp per-dir prefix: /home/tirius/subdomains/dev/public_html/about/ -> about/ [dev.tirius.co.uk/sid#5d65288][rid#5e37c00/initial] (3) [per-dir /home/tirius/subdomains/dev/public_html/] applying pattern '^(.*)$' to uri 'about/' [dev.tirius.co.uk/sid#5d65288][rid#5e37c00/initial] (2) [per-dir /home/tirius/subdomains/dev/public_html/] rewrite about/ -> /index.php/about/ [dev.tirius.co.uk/sid#5d65288][rid#5e37c00/initial] (1) [per-dir /home/tirius/subdomains/dev/public_html/] internal redirect with /index.php/about/ [INTERNAL REDIRECT] [dev.tirius.co.uk/sid#5d65288][rid#5e3f7c8/initial/redir#1] (3) [per-dir /home/tirius/subdomains/dev/public_html/] add path info postfix: /home/tirius/subdomains/dev/public_html/index.php -> /home/tirius/subdomains/dev/public_html/index.php/about/ [dev.tirius.co.uk/sid#5d65288][rid#5e3f7c8/initial/redir#1] (3) [per-dir /home/tirius/subdomains/dev/public_html/] ssortingp per-dir prefix: /home/tirius/subdomains/dev/public_html/index.php/about/ -> index.php/about/ [dev.tirius.co.uk/sid#5d65288][rid#5e3f7c8/initial/redir#1] (3) [per-dir /home/tirius/subdomains/dev/public_html/] applying pattern '^(.*)$' to uri 'index.php/about/' [dev.tirius.co.uk/sid#5d65288][rid#5e3f7c8/initial/redir#1] (1) [per-dir /home/tirius/subdomains/dev/public_html/] pass through /home/tirius/subdomains/dev/public_html/index.php 

Comme vous pouvez le voir, le htaccess est capté et mod_rewrite est activé et fonctionne, mais rien ne semble être ajouté à index.php

Ce doit être un problème de configuration Apache mais je suis vraiment perdu quant à ce que cela pourrait être.

Échantillon de httpd.conf

  Options ExecCGI FollowSymLinks IncludesNOEXEC Indexes MultiViews SymLinksIfOwnerMatch AllowOverride All  

Ceci est mon .htaccess sur CentOS:

 RewriteCond $1 !^(index\.php|images|robots\.txt|favicon\.ico) RewriteRule ^(.*)$ index.php?/$1 [L] 

Notez le point d’interrogation avant la barre oblique.

Je pense que la raison en est liée à l’exécution de PHP en tant que FastCGI. Je pense que le point d’interrogation rend le caractère précédent facultatif (c.-à-d. Qu’il correspondrait également à index.ph). J’ai essayé de faire des recherches un peu plus, mais je n’ai pas trouvé de raison définitive. Je pense que j’ai juste essayé toutes les variantes de la rewriterule que je pouvais trouver quand je regardais et que je n’ai pas pris la peine de demander pourquoi cela fonctionnait.

Heureux d’avoir pu aider.