Мой .htaccess выглядит следующим образом:
Options +FollowSymLinks RewriteEngine On RewriteBase /school RewriteRule ^([a-zA-Z0-9]+)/$ index.php?page=$1 RewriteRule ^([a-zA-Z0-9]+)$ index.php?page=$1 php_value auto_prepend_file ./inc/library.php ErrorDocument 404 /school/index.php?page=404
Начиная с ./
, я читаю, что указывает на относительный путь.
Примечание. Эта информация была взята почти дословно на другом веб-сайте , я подумал, что она хорошо объяснила проблему, и я очень подозреваю, что это проблема:
Некоторые PHP-скрипты предлагают использовать команды «php_value» или «php_flag» в файлах .htaccess, как в этом примере:
php_value include_path ".:/usr/local/lib/php" php_flag display_errors Off php_value upload_max_filesize 2M php_value auto_prepend_file "./inc/library.php"
Однако некоторые серверы запускают PHP в «режиме CGI» (не как модуль Apache), поэтому вы не можете использовать команды «php_value» или «php_flag» в файлах .htaccess. Если вы попытаетесь сделать это, вы увидите сообщение «внутренняя ошибка сервера».
Однако вы можете изменить файл php.ini, чтобы получить тот же эффект. Фактически, изменение php.ini на самом деле более гибкое, чем использование php_value или php_flag: есть много вещей, которые вы не можете переопределить с использованием файлов .htaccess, но вы можете переопределить почти любой параметр PHP в файле php.ini.
Чтобы получить тот же эффект, что и строки .htaccess выше, вы просто добавите эти строки в свой собственный файл php.ini:
include_path = ".:/usr/local/lib/php" display_errors = Off upload_max_filesize = 2M auto_prepend_file = "./inc/library.php"
Примечание. Некоторым системам потребуются кавычки вокруг путей, а некоторые не должны использовать кавычки.
Вы можете использовать PHP-модуль htscanner, если вы хотите использовать php_value
в файлах .htaccess при запуске php в качестве приложения CGI / FastCGI.