Giả sử các trang khác của bạn có URL cụ thể mà bạn có thể kiểm tra, những điều sau sẽ hữu ích.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9-_]*)$ /profile.php?user=$1 [L]
Điều này giúp duy trì các URL hiện tại, đồng thời cho phép người dùng sử dụng các URL lối tắt. Ngoài ra, RewriteRule
sẽ chỉ khớp với các URL không chứa /
, điều này sẽ giúp bảo vệ khỏi các chuyển hướng không có chủ đích. Vì vậy,
/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
Hy vọng điều đó sẽ hữu ích.
CHỈNH SỬA
Tôi đã cập nhật các quy tắc ở trên để các tệp / thư mục thực tế không bị chuyển hướng cũng như đảm bảo rằng bất kỳ .php
nào hoặc .html
tệp không được gửi đến profile.php
một trong hai.