J’essaie de faire des URLs SEO-friendly en utilisant apache mod_rewrite.
Mes URL normales sont quelque chose comme ça –
index.php?p=about index.php?p=contact index.php?p=this
Je m’attendais à ce que les URL optimisées pour le référencement soient similaires –
localhost/php_advance/ch02/about localhost/php_advance/ch02/contact localhost/php_advance/ch02/this
Je l’ai essayé en créant un fichier .htaccess
et en apportant quelques modifications à mon fichier Apache httpd.conf
.
Ceci est mon fichier .htaccess
# Turn on the engine: RewriteEngine on # Set the base to this directory: RewriteBase /php_advance/ch02/ # Redirect certain paths to index.php: RewriteRule ^(about|contact|this|that|search)/?$ index.php?p=$1
Et aussi, à la fin du fichier httpd.conf
, j’ai ajouté du code comme celui-ci –
AllowOverride All
NOTE:
J’utilise le serveur WAMP et Windows 07
Mais ce codage ne fonctionne pas pour moi. J’espère que quelqu’un va m’aider. Je vous remercie.
Assurez-vous que mod_rewrite est activé. Dans votre fichier httpd.conf, vous devriez avoir quelque chose de similaire à:
LoadModule rewrite_module modules/mod_rewrite.so
Assurez-vous ensuite que votre fichier htaccess se trouve dans votre /ch02/
.
Essaye ça:
RewriteEngine On RewriteBase /php_advance/ch02/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /php_advance/ch02/index.php [L]