J'ai essayé le code donné sur le sujet Nettoyer les URL en utilisant .htaccess , mais cela ne fonctionne pas sur mon site.
En fait, je reçois du contenu statique, mais pas des paramètres (contenu dynamique). Mon code .htaccess est
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^user/([^/]+) /user.php?u=$1
Mon fichier PHP ( user.php ) est:
<?php
echo "ABC";
echo $_GET['u'];
?>
Mon URL est:
example.com/simran/user/jack
(obtenir des contenus statiques, mais pas de paramètres)
Le moyen le plus simple est de changer:
RewriteRule ^user/([^/]+) /user.php?u=$1
à:
RewriteRule ^simran/user/([^/]+) /user.php?u=$1 [L]
ou pour plus de flexibilité, vous pouvez utiliser:
RewriteRule ^(.*)/user/([^/]+) /user.php?u=$2 [L]
Cela devrait rendre le travail de ces URL
example.com/any1user/user/jack
example.com/simran/user/jack
example.com/user/jack
J'ai changé $ 1 en $ 2 parce que $ 1 pointe maintenant vers le contenu avant/utilisateur et que vous êtes intéressé par le contenu après/utilisateur. Le. * Signifie n'importe quoi, y compris rien et la ponctuation.
Dans tous les cas, je recommande toujours de suffixer une règle avec un L entre crochets car cela signifie que vous ne devez plus traiter aucune règle de la liste après le traitement de la règle.