Lad os sige, at dine andre sider havde specifikke URL'er, som du kunne tjekke mod, det følgende burde hjælpe.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9-_]*)$ /profile.php?user=$1 [L]
Dette hjælper med at vedligeholde de nuværende URL'er, samtidig med at der tages højde for brugerens genvejs-URL'er. Også RewriteRule
vil kun matche webadresser, der ikke indeholder en /
, som vil hjælpe med at beskytte mod ikke-tilsigtede omdirigeringer. Så,
/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
Håber det hjælper.
REDIGER
Jeg har opdateret reglerne ovenfor, så faktiske filer/mapper ikke omdirigeres, ligesom jeg har sørget for, at enhver .php
eller .html
filen sendes ikke til profile.php
enten.