Если у вас есть только статические ключевые слова, я бы предпочел использовать хеш-карту вместо отдельных правил.Поскольку сложность операции поиска для хэш-карты состоит в том, что O (1) противоположно O ( n ) для n правил.
Так что вы могли бы что-то сделатьнапример:
RewriteMap arabic-keywords dbm:/path/to/file/arabic-keywords.map
Исходная карта ключевых слов представляет собой простой текстовый файл в формате:
عربية arabic.php
الأغاني songs.php
الفنان artist.php
Затем используйте httxt2dbm
, чтобы превратить обычный текстфайл в хеш-карту:
httxt2dbm -i arabic-keywords.txt -o arabic-keywords.map
И использование карты:
RewriteCond %{arabic-keywords:$0} .+
RewriteRule .+ %0 [L]
Поскольку карта перезаписи хеша возвращает пустую строку, если совпадений не найдено, условие будет толькобудет выполнено, если совпадение было найдено.Но обратите внимание, что RewriteMap
нельзя использовать в файле .htaccess context .