Если , список параметров будет переменным, и вы не хотите добавьте отдельные правила для каждого случая в ваш файл .htaccess
, вы можете просто поймать весь запрос и проанализировать его внутри.
Вы можете использовать что-то вроде этого RewriteRule ^phpfile.php/(.*)$ phpfile.php?params=$1
(непроверенных), а затем в файле PHP просто вручную разобрать строку запроса, как это:
<?php
#$_GET['params'] = 'something1-param1/something2-param2/somethin3-param3';
preg_match_all('/(\w+)-(\w+)/', $_GET['params'], $matches, PREG_SET_ORDER);
foreach ($matches as $match) {
$_GET[$match[1]] = $match[2];
}
unset($_GET['params']);
var_dump($_GET);
?>
Это настроит ваш $_GET
суперглобальный содержать ключ => как если бы они были переданы как отдельные параметры.
почему вы не просто переписать его г = something1-param1/something2-param2/somethin3-Param3, а затем использовать PHP, чтобы изменить это в something1 = param1 и т.д. – Jason
является его опечатка, что ваша вторая ссылка имеет «para2» вместо «param2», или это преднамеренно? – Nanne