На следующем рисунке показана ссылка на круглые скобки ([Флаги] опущены).
Если вы используете круглые скобки, обратные ссылки делаются на то, что указано в скобках, и затем вы можете использовать это где-нибудь в условиях, используя %1
и $1
.
Источник изображения находится в неофициальной документации для httpd Apache 2.2.
https://publib.boulder.ibm.com/httpserv/manual70/rewrite/rewrite_intro.html#InternalBackRefs
В официальной документации httpd Apache 2.4 такой картинки нет.
https://httpd.apache.org/docs/2.4/rewrite/intro.html#InternalBackRefs
Суть этого поста - просто убедиться, что я правильно понял и работает ли он в httpd Apache 2.4.
Кто-нибудь знает?
Это фундаментальный принцип работы mod_rewrite независимо от того, используете ли вы Apache 1.3, 2.2 или 2.4. Так что да, в Apache 2.4 он работает точно так же.
(Хотя опубликованная вами диаграмма основана на «копии» (?) IBM, а не в «официальном» документе Apache, возможно, она неоднозначна, поскольку неясно, в каком порядке RewriteCond
директивы обрабатываются (синие стрелки). Сверху вниз или снизу вверх? РЕДАКТИРОВАТЬ: Хотя вы пояснили, что это представляет обратные ссылки только; не порядок обработки.)
Источник изображения находится в документации для httpd Apache 2.2.
https://publib.boulder.ibm.com/httpserv/manual70/rewrite/rewrite_intro.html#InternalBackRefs
Как отмечалось выше, это не «официальная» документация для Apache 2.2. В официальные документы для 2.2 и Apache 2.4 содержать тем же диаграммы. Эти диаграммы и сопроводительный текст описывают тот же процесс, что и описанный выше.
Диаграмма из документации IBM (которая выглядит как ранняя «копия» документации Apache и очень неполная) содержит следующую диаграмму, на которой, похоже, основана ваша диаграмма:
Эта синяя линия (которая идет вверх из RewriteRule
шаблон) ИМО неоднозначно - сначала идет нижнее состояние или верхнее? Я бы изменил эту диаграмму, чтобы она была более ясной в отношении порядка обработки. Например: