Säg att dina andra sidor hade specifika webbadresser som du kan kontrollera mot, följande borde hjälpa.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9-_]*)$ /profile.php?user=$1 [L]
Detta hjälper till att bibehålla aktuella webbadresser, samtidigt som det tillåter användarens genvägswebbadresser. Även RewriteRule
kommer bara att matcha webbadresser som inte innehåller en /
, vilket hjälper till att skydda mot oavsiktliga omdirigeringar. 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
Hoppas det hjälper.
REDIGERA
Jag har uppdaterat reglerna ovan så att faktiska filer/kataloger inte omdirigeras samt att se till att eventuella .php
eller .html
filen skickas inte till profile.php
antingen.