Можем ли мы выйти за пределы $ 1 - $ 9 позиционных параметров с mod_rewrite - PullRequest
1 голос
/ 12 ноября 2011

Есть ли способ использовать более чем позиционные параметры от $1 до $9 с mod_rewrite?${10} не работает.

1 Ответ

0 голосов
/ 12 ноября 2011

В определении обратной ссылки RewriteRule в Apache написано:

Обратные ссылки RewriteRule : Это обратные ссылки в форме $ N (0 <= N <= 9), которые предоставляют доступ к сгруппированным частям (в скобках) шаблона из RewriteRule, который является в зависимости от текущего набора условий RewriteCond. </p>

Однако вы могли бы сопоставить некоторые из URI в RewriteCond и использовать обратные ссылки% N, я никогда не пробовал сам, но может быть что-то подобное?

RewriteCond %{REQUEST_URI} ^/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/
RewriteRule ^[^/]+/[^/]+/[^/]+/[^/]+/[^/]+/[^/]+/[^/]+/[^/]+/[^/]+/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/ /ok_wow?a=%1&b=%2&c=%3&d=%4&e=%5&f=%6&g=%7&h=%8&i=%9&j=$1&k=$2&l=$3&m=$4&n=$5&o=$6p=$7&q=$8&r=$9 [R]

(да, это довольно абсурдно, рекурсия, вероятно, является лучшим способом, если это применимо).

...