Я использую mod_rewrite в Apache 2.2, Windows 7, и он работает ... за исключением того, что я не вижу никакой информации для журналов.
Я добавил эти строки в конец своего httpd.conf:
RewriteLog "c:\wamp\logs\rewrite.log"
RewriteLogLevel 9
Файл журнала создается при запуске Apache (поэтому это не проблема с разрешением), но он остается пустым. Я думал, что может быть противоречие RewriteLogLevel
заявление где-то, но я проверил, а его нет.
Что еще могло вызвать это?
Может ли это быть вызвано тем, что Apache не очищает файл журнала? (Я закрыл его, нажав CTRL-C в команде httpd.exe ... это привело к тому, что журналы доступа были сброшены на диск, но в rewrite.log по-прежнему ничего не было)
Мой (частичный) httpd-vhosts.conf:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName my.domain.com
DocumentRoot c:\wamp\www\folder
<Directory c:\wamp\www\folder>
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule . everything-redirects-to-this.php [L]
</IfModule>
</Directory>
</VirtualHost>
Как насчет добавления журнала ошибок в ваш виртуальный хост, как я делаю для каждого виртуального хоста, то есть что-то вроде:
<VirtualHost *>
ServerAdmin webmaster@xxx.fr
DocumentRoot "/web/htdocs/olivier/xxx/prod/website"
ServerName xxx.fr
ServerAlias *.xxx.fr
ErrorLog "/web/logs/xxx.error.log"
...
...
...
</VirtualHost>
Я далек от гуру apache, но я заметил, что у вас есть:
AllowOverride None
под
Насколько я понимаю, это должно быть:
AllowOverride All