Сравните две обратные ссылки в RewriteCondApache

Anonymous
Сравните две обратные ссылки в RewriteCond

Сообщение Anonymous »

Это старый шаблон URI /release-(\w+)/(\w+)/(.*), где первый и второй шаблон регулярного выражения всегда одинаковы, со следующими примерами: Они объединены в одну папку (т. е. /release) , в новой версии:

Код: Выделить всё

ROOT
└── release
├── foo
│   ├── ...
│   └── ...
├── bar
│   ├── ...
│   └── ...
└── ...
С этой конфигурацией RewriteRule:

Код: Выделить всё

RewriteRule "^/release-(\w+)/(\w+)/(.*)$"  "/release/$1/$3" [L]
все эти перенаправления работают:
  • Код: Выделить всё

    /release-foo/foo/(.*)
    => /release/foo/(.*): так и есть
  • Код: Выделить всё

    /release-foo/bar/(.*)
    => /release/foo/(.*): это НЕ должно быть разрешено
  • Код: Выделить всё

    /release-foo/baz/(.*)
    => /release/foo/(.*): Это НЕ должно быть разрешено
Мой вопрос: что я могу поставить здесь как RewriteCond? Возможно ли это вообще?

Код: Выделить всё

RewriteCond expr "$2 == $1"   

Подробнее здесь: [url]https://stackoverflow.com/questions/78757368/compare-two-backreferences-in-rewritecond[/url]

Вернуться в «Apache»