Я пытаюсь ограничить / устранить дублирование.
Согласно моему (ограниченному) пониманию некоторых LAMP хостинг-провайдеров (особенно на общих серверах), существуют некоторые директивы PHP-iniигнорируются при установке внутри PHP-скрипта, но принимаются при установке в .htaccess
;процесс должен быть довольно простым:
- обнаружить любой
mod_php*
и установить переменную среды, если она найдена - проверить эту переменную среды и установить все директивы
php_value
ONCE - перенаправить все запросы в PHP для обработки запросов в соответствии с config
Цель состоит в том, чтобы удерживать весь контент, если только PHP не доступен для обработки запроса в соответствии с config - для каждого пользователя / бот /API / и т.д....и этим, очевидно, не использовать какой-либо PHP-код в качестве текста. O_o
Я понятия не имею, почему это должно быть более сложным, но я отказываюсь признать, что мне приходится дублировать (длинный) списокphp_value
директив 4 раза - только потому, что Apache-conf слишком (объяснительно удален) для обработки простейших логических условий ... (лицо) ... или, может быть, я просто недостаточно знаю об Apache-conf, пожалуйстаПомогите;код ниже выдает ошибку 400 , и я не могу заставить ее работать, пока я не продублирую каждый блок для каждой php-версии и собственный суффикс mod_php * каждого хост-провайдера -for PHP-version-hot-
Вот что [bl / thr] должно:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
<IfModule mod_php_null.c>
SetEnv MODPHP 1
</IfModule>
<IfModule mod_php5.c>
SetEnv MODPHP 1
</IfModule>
<IfModule mod_php7.c>
SetEnv MODPHP 1
</IfModule>
<If "%{ENV:MODPHP} =1">
php_value expose_php Off
php_value short_open_tag On
php_value display_errors On
php_value max_execution_time 60
php_value default_charset UTF-8
# list shortened for brevity
RewriteCond %{DOCUMENT_ROOT}/.auto.php -f
RewriteRule ^(.*)$ .auto.php [L]
</If>
</IfModule>