Supposons que vos autres pages aient des URL spécifiques que vous pouvez vérifier, ce qui suit devrait vous aider.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9-_]*)$ /profile.php?user=$1 [L]
Cela permet de conserver les URL actuelles, tout en autorisant les URL de raccourci utilisateur. De plus, la RewriteRule
ne correspondra qu'aux URL qui ne contiennent pas de /
, ce qui contribuera à vous protéger contre les redirections involontaires. Alors,
/i-am-a-user -> MATCHES
/i_am_a_user -> MATCHES
/i-!am-a-user -> NOT MATCHED
/i.am.a.user -> NOT MATCHED
/i.am.a.user/ -> NOT MATCHED
/some/page/ -> NOT MATCHED
/doesnotexist.php -> NOT MATCHED
/doesnotexist.html -> NOT MATCHED
J'espère que ça aide.
MODIFIER
J'ai mis à jour les règles ci-dessus afin que les fichiers/répertoires réels ne soient pas redirigés et en m'assurant que tout .php
ou .html
le fichier n'est pas envoyé à profile.php
soit.