Apache .htaccess должен перенаправлять только в том случае, если подстрока НЕ ​​найдена в URI.Apache

Anonymous
Apache .htaccess должен перенаправлять только в том случае, если подстрока НЕ ​​найдена в URI.

Сообщение Anonymous »

Совершенно запутался, возясь с .htaccess. Проверил несколько сообщений SO и Perplexity.ai LLM. Но все равно получаю ошибочные результаты. Попытка выполнить простое полное перенаправление хоста, но пропустить правило, если в запросе найдена подстрока «cheezit». Мне удалось распечатать переменные сервера, такие как %{REQUEST_URI}, поэтому я знаю, что они имеют ожидаемые входные значения. Другого содержимого в файле .htaccess нет.

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

# .htaccess

RewriteCond %{HTTP_HOST} ^([^.]+)\.?old-legacy-host\.com$ [NC]
RewriteCond %{REQUEST_URI} !cheezit [NC]
RewriteRule ^(.*)$ https://%1.new-awesome-host.com/$1 [R=302,L]
Когда я посещаю https://xyz.old-legacy-host.com/cheezit/45, этот URI, как и любой другой, перенаправляет на новое имя хоста. Я не могу хоть убей понять, почему он не запускает условие исключения и не пропускает RewriteRule.
Что мне не хватает?

Подробнее здесь: https://stackoverflow.com/questions/798 ... und-in-uri

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