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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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