Попробуйте поместить это в файл .htaccess в соответствующем месте в корне документа:
RewriteEngine on
RewriteRule ^sms.php$ /sms/myfunction/ [L]
RewriteCond %{QUERY_STRING} ^[^=]+=([^&]+)&?(.*)
RewriteRule ^sms/myfunction/(.*)$ /sms/myfunction/$1/%1?%2 [L]
Первый RewriteRule изменяет часть URI /sms.php
на /sms/myfunction/
, а второе правилодобавит каждое значение в строке запроса в свою часть пути.Таким образом, для URL-адреса, подобного следующему: http://someurl/sms.php?a=1&b=2&c=3&d=4&e=5&f=6&g=7&h=8&i=9, URI будет внутренне переписан в /sms/myfunction/1/2/3/4/5/6/7/8/9
.Не проверяется, какие имена переменных есть в строке запроса, только значение извлекается и добавляется к пути URI.
Если вы поместите этот код в конфигурацию сервера или vhost (вместо файла htaccess)добавьте /
перед sms
в каждом из правил, чтобы оно гласило ^/sms
, поскольку правила в htaccess удаляют начальную косую черту при сопоставлении с URI.