Я пытаюсь перенаправить URL-адреса с example.net/customname
или example.net/customname/
на example.net/my/home.php?username=customname. Само по себе это не сложно:
RewriteRule ^([a-zA-Z0-9_-]+)$ my/home.php?username=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ my/home.php?username=$1
Однако я хочу исключить мои существующие каталоги и файлы, такие как example.net/about/
и example.net/files
. Я не могу понять, как использовать RewriteCond (мне нужно несколько cond для перезаписи?), Чтобы исключить переписывание таких элементов, как example.net/about/
, в example.net/home.php?username=about
. Как я могу это сделать?
Спасибо!
РЕДАКТИРОВАТЬ: Вот точное решение ...
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_-]+)/?$ my/home.php?url=$1 [NC,L]