Я пытаюсь установить простое правило в моем httpd.conf как предвестник некоторых более сложных правил, которые мне нужно настроить.Перевернув REQUEST_URI с! в httpd.conf
Если я использую это:
RewriteCond %{REQUEST_URI} ^/test\.txt
RewriteRule ^(.*)$ http://127.0.0.1:8080 [R,L]
... то запрос /test.txt идет в порт 8080, как и ожидалось.
Но если я добавлю! перевернуть матч REQUEST_URI, как это:
RewriteCond %{REQUEST_URI} !^/test\.txt
RewriteRule ^(.*)$ http://127.0.0.1:8080 [R,L]
... то каждый запрос отправляется на порт 8080, в том числе запросов на /test.txt. Я ожидал, что text.txt будет разрешен, потому что RewriteCond будет применять следующее правило для каждого запроса, который не match /text.txt.
Какая глупость, простая ошибка, которую я здесь делаю? Я Googled, пока у меня не закружилась голова.
Возможно, это связано с вашими другими правилами (по причинам, о которых я могу подробнее остановиться), не могли бы вы также опубликовать их? –
Спасибо, Тим - нет других правил перезаписи за пределами стандартного блокатора TRACE/TRACK. Тем не менее, я установил новую установку Apache на запасной машине, и вышеприведенные правила работают там, как я ожидал, поэтому это явно связано с настройкой на первой машине. Это не так плохо, потому что я просто хотел, чтобы машина создавала правила, и я могу сделать это с новой установкой. – Nick