Я бы сделал что-то вроде этого:
RewriteRule ^/?(logout|config|foo)/?$ $1.php
RewriteRule ^/?(logout|config|foo)/(new|edit|delete)$ $1_$2.php
Я предпочитаю явно указывать URL-адреса, которым я хочу соответствовать, чтобы мне не приходилось беспокоиться о статическом контенте или добавлении новых вещей, которые позже не нужно переписывать в php-файлы.
Вышеприведенное допустимо, если все вложенные URL-адреса действительны для всех корневых URL-адресов (book/new
, movie/new
, user/new
), но не очень хорошо, если вы хотите иметь разные вспомогательные URL-адреса в зависимости от действия root (logout/new
не имеет особого смысла). Вы можете справиться с этим либо с более сложным регулярным выражением, либо перенаправив все в один php-файл, который будет определять, какие файлы включать и отображать на основе URL.