Назад | Перейти на главную страницу

Директива Apache Alias ​​- не игнорировать файлы .htaccess

При использовании Alias директиве для сопоставления URL-адреса с каталогом вне корня документа, кажется, что файлы .htaccess в корне документа не применяются к этим запросам.

Например, если установить php_flag display_errors off в /home/user/document_root/.htaccess, но при доступе к www.example.com/aliased_url/phpinfo.php display_errors будет 'включен', если это глобальная настройка PHP, и она не будет переопределена, например www.example .com / phpinfo.php есть.

Есть ли способ изменить это поведение (или добиться этого) без использования символических ссылок?

ИЗМЕНИТЬ 13 февраля 2016 г .:

Цель состоит в том, чтобы создать файл phpinfo, который будет работать для всех сайтов, чтобы отображать эффективную конфигурацию этого конкретного сайта (на которую могут влиять CMS с открытым исходным кодом, которые используют htaccess для изменения значений php.ini).

По задумке файлы .htaccess действительно влияют только на поведение Apache в зависимости от того, какое место в вашей файловой системе используется для обслуживания запроса.

Если вы хотите изменить настройки для определенного VirtualHost или на основе местоположения URL-адреса, вам нужно будет следовать тому, что лучшая практика в любом случае и переместите директивы конфигурации в фактический файл конфигурации Apache (и полностью запретите файлы .htaccess).

В этом случае это решит вашу проблему, потому что ваша директива больше не зависит от расположения файловой системы ...

<VirtualHost *:80>
  ServerName    www.example.com
  ServerAlias   example.com
  DocumentRoot  /var/www/example.com/
  Alias /scripts/ /var/www/scripts/
  php_flag display_errors off
</VirtualHost>

Если вы не системный администратор и у вас нет доступа к конфигурации Apache, то ваш вопрос не будет по теме но это не относится к делу, вы можете решить проблему, только создав (копию) .htaccess файл в каталоге псевдонимов. В зависимости от AllowOverride директива настоящий администратор настроен для вас, вам обычно разрешается помещать файл .htaccess в любой каталог и подкаталог, к которому Apache имеет доступ. Вы не ограничены DocumentRoot.