Options +FollowSymLinks
RewriteEngine On
RewriteMap name2id txt:/path/to/map.txt
RewriteRule ^/mods/([^/]+)\.html$ /mod.php?id=${name2id:$1|0} [QSA,L]
Первый раз для перезаписи URL с помощью rewriteMap. У меня есть код выше, но он возвращает страницу 404, если я запускаю http://example.com/mysite/mods/abc.html
в моем браузере. Я поместил приведенный выше код в мой файл виртуального хоста в конфигурации apache, я читал на некоторых форумах, что rewriteMap работает, только если у вас есть доступ к httpd.conf и виртуальному хосту. mod_rewrite работает на моем компьютере с Windows, потому что я смог запустить некоторое правило, определенное в моем файле .htaccess.
map.txt содержит
abc 123
def 456
ghi 789