Utiliser un fichier .htaccess sur un serveur Apache localhost

Bon, j’ai un serveur Apache localhost opérationnel avec PHP et MySql. Maintenant, je veux pouvoir utiliser un fichier .htaccess pour utiliser RewriteRule , mais je ne sais pas où le placer.

J’ai ces répertoires:

C:\dev\progs où Apache PHP et MySQL sont stockés, chacun dans leurs propres sous-répertoires, c.-à-d. C:\dev\progs\Apache et ainsi de suite …

C:\dev\www où tous les fichiers du site sont stockés.

J’ai besoin de savoir où mettre le fichier .htaccess , quelle configuration je dois faire et si ce que je suis mes espoirs et mes rêves ne vaut rien.

Merci

.htaccess est un fichier de configuration qui doit être stocké où se trouve votre page. En bref, il devrait être dans c:\dev\www dans votre cas, mais vous devriez lire ceci aussi. BTW n’oubliez pas d’activer mod_rewrite en supprimant un hachage de la ligne où il réside

 LoadModule rewrite_module modules/mod_rewrite.so 

et activer .htaccess en changeant

 AllowOverride None 

à

 AllowOverride All 

Activer .htaccess sur les serveurs Apache dans localhost

 1) Find your apache directly which uses the php installation . 2) Open your httpd.conf with notepad, Which is located in the path \apache\conf directory 3) Find the code like below #LoadModule rewrite_module modules/mod_rewrite.so 4) Remove # from above code # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride All <--- make sure this is not set to "None" 5) Save httpd.conf file 6) Restart your apache server 

Vous placez le fichier .htaccess dans le répertoire Web que vous souhaitez que le code contrôle (et tout sous-répertoire). Pour une réécriture, il va généralement dans le répertoire racine et agit sur la page index.php.

Par exemple, si vous placez le fichier .htaccess dans le répertoire \ dev \ www \ et que votre fichier .htaccess a quelque chose comme RewriteRule ^(.*)$ /index.php?/$1 [L] c’est une regex qui dit obtenir tous les caractères dans l’URL et les append au /index.php? scénario. Le /$1 est une référence arrière en regex.

Essaye ça.

  RewriteEngine On RewriteBase /projectfolder/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /projectfolder/index.php [L]