J'ai du mal à configurer Apache avec mod_rewrite sur ma machine de développement. Mod_rewrite est actif et fonctionne bien pour certaines règles. Certaines règles ne fonctionnent pas comme prévu, comme celle-ci:
RewriteRule ^static/([^/]+)/([^/]+)     /static.php?sISOCode=$1&sPage=$2
Dans static.php, je fais cela (pour le débogage):
<?php
print_r($_GET); print_r($_POST); print_r($_SERVER); die();
Quelles impressions (ont supprimé certains éléments du tableau $ _SERVER):
Array
(
)
Array
(
)
Array
(
    [SERVER_SIGNATURE] => <address>Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.1 with Suhosin-Patch Server at alpha.prove.no Port 80</address>
    [SERVER_SOFTWARE] => Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.1 with Suhosin-Patch
    [SERVER_ADDR] => 127.0.0.1
    [SERVER_PORT] => 80
    [REMOTE_ADDR] => 127.0.0.1
    [DOCUMENT_ROOT] => /home/veg/workspace/project
    [SERVER_ADMIN] => webmaster@localhost
    [SCRIPT_FILENAME] => /home/veg/workspace/project/static.php
    [REMOTE_PORT] => 38954
    [GATEWAY_INTERFACE] => CGI/1.1
    [SERVER_PROTOCOL] => HTTP/1.1
    [REQUEST_METHOD] => GET
    [QUERY_STRING] => 
    [REQUEST_URI] => /static/no/startCar
    [SCRIPT_NAME] => /static.php
    [PATH_INFO] => /no/startCar
    [PATH_TRANSLATED] => redirect:/index.php/startCar
    [PHP_SELF] => /static.php/no/startCar
    [argv] => Array
        (
        )
    [argc] => 0
)
D'une manière ou d'une autre, les paramètres GET définis selon la règle ne passent pas. Le même fichier .htaccess est utilisé sur d'autres configurations et fonctionne bien. La configuration Apache pour ce domaine virtuel:
<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName project.example.com
        DocumentRoot /home/veg/workspace/project
        <Directory /home/veg/workspace/project>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
        ErrorLog /var/log/apache2/error.log
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined
</VirtualHost>
Le journal d'accès et le journal des erreurs ne produisent rien lorsque cela se produit. Toutes les idées appréciées.
Un exemple de règle qui fonctionne, pour le même fichier:
RewriteRule ^faq/?$                   /static.php?sISOCode=no&sPage=faq