Я настроил apache вручную и добавил второй веб-каталог с этим кодом:
Alias /webs c:\webs
<Directory /webs>
AllowOverride All
</Directory>
Однако в этом веб-сайте есть файл .htaccess, и доступ к веб-сайту дает ошибку: «500 Internal Server Error», но ничего не записывает в файл журнала ошибок.
Но когда я удаляю файл .htaccess, я не получаю эту ошибку.
Я добавил строку «AllowOverride All» и перезапустил сервер, но это не исправляет ошибку.
Мой .htaccess таков:
RewriteEngine On
RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?params=$1 [L,QSA]
<Files "test">
Order Allow,Deny
Allow from all
</Files>
Что мне нужно сделать, чтобы использовать файл .htaccess в этом каталоге?
Включите mod_rewrite на веб-сервере Apache. Также попробуйте это:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?params=$1 [L,QSA]
<Files "test">
Order Allow,Deny
Allow from all
</Files>
</IfModule>
Если включен mod_rewrite, запускает механизм перезаписи; иначе ничего не делает.
Хорошо, я исправил это, оказалось, что это две другие проблемы, которые я запишу здесь на всякий случай, если это кому-то поможет:
В моем php.ini файл, мне нужно было установить:
display_errors = On
чтобы он отображал ошибки (хотя у меня было "error_reporting = E_ALL & ~ E_STRICT").
Тогда ошибка заключалась в том, что я пытался использовать RedBean с SQLite, и мне нужно было раскомментировать их в моем php.ini файл:
extension=php_pdo_sqlite.dll
extension=php_sqlite3.dll