Примеры, которые вы найдете, вполне подходят для вас, поскольку они не зависят от логики более высокого уровня, такой как php.Эти правила действуют на уровне http-сервера.
В любом случае, вот правило для начала:
RewriteEngine on
RewriteCond %{QUERY_STRING} (?:^|&)id=(\d+)(?:&|$)
RewriteRule ^/?blog$ blog.html?id=%1 [END,QSD]
Если вы получаете http 500 («внутренняя ошибка сервера»), используя это, то есть вероятность, что вы используетеочень единственная версия сервера Apache http.В этом случае вы найдете подсказку о неподдерживаемом флаге [END]
в файле журнала ошибок http-серверов.Попробуйте заменить флаг END
на более старый флаг L
, чтобы , вероятно, работал бы так же, хотя это немного зависит от вашей настройки.