1 votes

Règles de redirection pour .htaccess avec mod_rewrite

J'ai un script PHP script qui génère dynamiquement du contenu à partir d'une base de données sur la base de requêtes. L'utilisateur peut effectuer une recherche à partir d'une zone de texte pour le nom d'utilisateur "mark". Le contenu est fourni par PHP à l'adresse www.domain.com/?username=mark, mais j'aimerais que l'utilisateur voie l'URL de service comme www.domain.com/username/mark.html. De même, l'utilisateur peut effectuer une recherche à partir d'un profil (nombre entier). Le contenu est généré à l'adresse www.domain.com/?profile=2. J'aimerais que l'utilisateur voie l'URL de service comme www.domain.com/profile/2.html. Est-ce possible ?

Voici mon fichier .htaccess :

 RewriteEngine On
 RewriteRule ^username/([^/]*)\.html$ /?username=$1 [L]
 RewriteRule ^realname/([^/]*)\.html$ /?realname=$1 [L]
 RewriteRule ^profile/([^/]*)\.html$ /?profile=$1 [L]

Mod_rewrite est activé mais ce fichier ne semble pas fonctionner.

0voto

Votre code devrait fonctionner, peut-être ne s'exécute-t-il pas du tout. Vous pouvez essayer de faire une faute de frappe et voir si Apache renvoie une réponse 500.

A côté de cela, vous pouvez essayer d'utiliser le htaccess suivant. Ajout d'index.php, pour s'assurer que le bon fichier est appelé.

RewriteEngine On
RewriteRule ^username/([^/]*)\.html$ /index.php?username=$1 [L]
RewriteRule ^realname/([^/]*)\.html$ /index.php?realname=$1 [L]
RewriteRule ^profile/([^/]*)\.html$ /index.php?profile=$1 [L]

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X