Я пытаюсь понять, как работает RewriteCond и RewriteRule сервера Apache. Я просмотрел документацию и смог понять все, кроме следующих двух понятий:
Обратные ссылки RewriteRule: Это обратные ссылки вида $ N (0 < = N <= 9), которые предоставляют доступ к сгруппированным частям (в скобках) шаблона из RewriteRule, который подчиняется текущему набору условий RewriteCond. </p>
Обратные ссылки RewriteCond: Это обратные ссылки в форме% N (1 <= N <= 9), которые обеспечивают доступ к сгруппированным частям (опять же, в скобках) шаблона из последнего соответствующего RewriteCond в текущем наборе условий. </p>
У меня есть следующий пример, и я не могу его понять:
RewriteCond $1 !^index\.php/
RewriteRule ^(.*)$ index.php/$1 [L]
А также
RewriteCond %{HTTP_HOST} !^www.
RewriteCond %{HTTP_HOST} ^([a-z0-9]+)\.example.com(.*)$
RewriteRule ^(.*)$ http://example.com/test\.php?user=%1&path=$1 [R]
Может кто-нибудь объяснить, как использовать обратную ссылку RewriteRule $N
и обратную ссылку RewriteCond %N
в RewriteCond и RewriteRule?