Просто изменив то, что написал Маршалл:
RewriteRule ^(.*)$ index.php?r=$1 [NC,L]
Это покроет все.
Разбивая это, вот что делает каждая часть:
RewriteRule
- простосообщая серверу, что последует.
^(.*)$
- любое регулярное выражение.Это используется для захвата и разбивки URL.
index.php?r=$1
- это то, что мы хотим, чтобы сервер действительно видел.Мы берем первую группу, полученную из предыдущего регулярного выражения, и передаем ее на сервер с $1
.
[NC,L]
- различными флагами RewriteRule .NC
означает "nocase", а L
- "последнее".