Bonjour,
J’ai configuré le Virtual Host suivant dans Apache24\conf\extra\httpd-vhosts.conf :
Et j'ai créé le fichier .htaccess suivant dans C:\Base_test\public :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <VirtualHost *:80> ServerAdmin mail@gmail.fr ServerName site.fr DocumentRoot "C:\Base_test\public" ErrorLog "C:\Base_test\error.log" LogLevel debug rewrite:trace6 <Directory "C:\Base_test\public"> Options -Indexes AllowOverride All Require all granted </Directory> </VirtualHost>
Tout fonctionne comme prévu, sur Chrome quand je vais sur site.fr/bidule/ ça me renvoie bien sur le fichier index.php.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,L]
Mais sur la documentation d’Apache, on peut lire :Du coup j’ai supprimé le fichier .htaccess et j’ai intégré son contenu dans mon VirtualHost :« Les fichiers .htaccess ne doivent être utilisés que si vous n'avez pas accès au fichier de configuration du serveur principal. L'utilisation des fichiers .htaccess ralentit le fonctionnement de votre serveur http Apache. Il est toujours préférable de définir les directives que vous pouvez inclure dans un fichier .htaccess dans une section Directory, car elles produiront le même effet avec de meilleures performances.»
Et là ça ne fonctionne plus, quand je vais sur site.fr/bidule/, ça me dit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <VirtualHost *:80> ServerAdmin mail@gmail.fr ServerName site.fr DocumentRoot "C:\Base_test\public" ErrorLog "C:\Base_test\error.log" LogLevel debug rewrite:trace6 <Directory "C:\Base_test\public"> Options -Indexes AllowOverride All Require all granted <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,L] </IfModule> </Directory> </VirtualHost>Dans le fichier error.log, j’ai l’erreur suivante :« Not found. The requested URL was not found on this server. »Je précise que j’ai bien décommenté le module rewrite_module dans httpd.conf.AH00128: File does not exist: C:/Base_test/public/bidule/
Voilà je vous remercie pour votre aide.
Partager