Долгое время читатель, первый постер.
У меня есть некоторые правила перезаписи, которые прекрасно работают в контексте виртуального хоста, но я не могу применить его в контексте конфигурации сервера, что я хочу сделать, чтобы он применялся ко ВСЕМ виртуальным хостам.
Директивы:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/?cgi-sys/defaultwebpage\.cgi$ / [R=301,L]
</IfModule>
Я пытался изменить его, чтобы не задавать начало и конец как таковые:
RewriteRule cgi-sys/defaultwebpage\.cgi / [R=301,L]
Но я не могу вызвать это.
Чего мне не хватает?
Apache / 2.2.13
Как и просили в комментариях, пользователь вводит:
http://www.example.com/cgi-sys/defaultwebpage.cgi
Следующие записи в журнале:
203.4.5.6 - - [05/Apr/2011:10:23:16 +1000] "GET /cgi-sys/defaultwebpage.cgi HTTP/1.1" 200 26 "-"
"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; en-us) AppleWebKit/533.20.25 (KHTML, like Gecko)
Version/5.0.4 Safari/533.20.27"
Теперь у рассматриваемого сайта есть файл .htaccess с этим правилом, которое, я полагаю, перехватывает этот запрос:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
Я временно отключил эту директиву, а затем Apache только что подал ваниль 404:
203.45.73.63 - - [05/Apr/2011:10:27:28 +1000] "GET /cgi-sys/defaultwebpage.cgi HTTP/1.1" 404 - "-"
"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; en-us) AppleWebKit/533.20.25 (KHTML, like Gecko)
Version/5.0.4 Safari/533.20.27"