В моем случае мне понадобился базовый URL-адрес, аналогичный RewriteBase
, содержащемуся в файле .htaccess
.
К сожалению, простое получение RewriteBase
из файла .htaccess
невозможно с PHP. Но возможно установить переменную окружения в файле .htaccess и затем извлечь эту переменную в PHP. Просто проверьте эти биты кода:
.htaccess
SetEnv BASE_PATH /
index.php
Теперь я использую это в базовом теге шаблона (в разделе заголовка страницы):
<base href="<?php echo ! empty( getenv( 'BASE_PATH' ) ) ? getenv( 'BASE_PATH' ) : '/'; ?>"/>
Так что, если переменная не была пустой, мы ее используем. В противном случае можно вернуться к /
в качестве базового пути по умолчанию.
Исходя из среды, базовый URL всегда будет правильным. Я использую /
в качестве базового URL на локальных и производственных сайтах. Но /foldername/
для постановочной среды.
Во-первых, все они имели свои .htaccess
, потому что RewriteBase был другим. Так что это решение работает для меня.