Небольшая проблема в Apache
Можно ли сделать какой-нибудь Rewrite?можно
RewriteEngine on
RewriteBase /cgi-bin
RewriteCond %{SCRIPT_FILENAME} /trash.*
RewriteRule /(.*)$ nph-$1 [PT]
при запросе trash-скриптов из /cgi-bin апач будет обращаться к их nph-trash версиям
Он теперь ебошит nph-скрипт как не-nph, то есть, выдаёт 500 Internal server error, malformed header
То есть он не имеет права меня заголовок ответа, если к нему от скрипта пришел правильный.
Покажи, какой заголовок выдает скрипт, и какой заголовок прописывает сервер.
И версию апача.
print $q->header(-content_disposition=>'attachment; filename=trash.txt',
-Last_Modified=>$ftime,
-blablabla=>$ftime,
-content_length=>scalar $fileinfo->size,
-pragma=>'No-cache');
---
# ./trash.cgi id=3940
Content-length: 2801
Pragma: No-cache
Blablabla: Fri May 18 13:19:23 2007
Last-modified: Fri May 18 13:19:23 2007
Content-disposition: attachment; filename=trash.txt
Content-Type: text/html; charset=ISO-8859-1
---
#telnet localhost 8080
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
GET /cgi-bin/trash.cgi?id=3940 HTTP/1.0
HTTP/1.1 200 OK
Date: Fri, 18 May 2007 11:33:07 GMT
Server: Apache/2.0.52 (Red Hat)
Pragma: No-cache
Blablabla: Fri May 18 13:19:23 2007
Content-disposition: attachment; filename=trash.txt
Content-length: 2801
Last-Modified: Fri, 18 May 2007 11:33:07 GMT
Connection: close
Content-Type: text/html; charset=ISO-8859-1
вот твой: Fri May 18 13:19:23 2007
а вот его: Fri, 18 May 2007 11:33:07 GMT
Изобрази ее в GMT.
Ага, тоже заметил, ща поменяю localtime на gmtime =)
Небольшая проблема в Асете?
Оставить комментарий
evgen5555
Она съела мой моск.Короче, есть CGI, который выдает нужное поле хедера Last-Modified. Не знаю, с какого хуя разработчики это сделали, но после срабатывания скрипта поле Last-Modified апач сменяет на текущее время.
Далее, я узнал, что проблема решается с помощью изменения названия скрипта добавлением волшебного префикса "nph-", например, с trash.cgi на nph-trash.cgi. И действительно, nph-trash.cgi сработал, как надо.
Но остается вопрос - как быть с клиентами, у которых адрес http://host.com/cgi-bin/trash.cgi захардкоден (поле If-Modified-Since не посылается тоже, понадеялся на апач и которые скачивают каждые полсекунды неизмененный текст, полагая, что он всё-таки изменился, перегружая сервер?
Можно ли сделать какой-нибудь Rewrite?
В httpd.conf - о конфигурации NPH ни слова. Видимо, это как-то в коде прошито, что ли.