2015-07-22 2 views
9

Можно ли получить абсолютный путь к моему файлу «.htaccess»?Htaccess абсолютный путь

Im используя это для загрузки init.php в каждом файле.

php_value auto_prepend_file /Applications/XAMPP/xamppfiles/htdocs/init.php 

Есть ли способ, поэтому мне не нужно писать абсолютный путь?

Подобно этому, если init.php находится в той же категории, как .htaccess файла:

php_value auto_prepend_file [ABSOLUTE_PATH_TO_HTACCESS]/init.php 

и, если это возможно, как я пишу это, но все-таки вернуться на один каталог (С init.php находится вне public_html, где находится .htaccess).

Заранее спасибо.

+0

вы пробовали 'строку php_value auto_prepend_file/init.php'? – StephenKing

+0

Поскольку 'init.php' включен в каждый файл, файлы в подкаталогах не могут найти его, если путь не является абсолютным. – Jacob

+2

Разве это не дубликат «[предварительно загруженный php-файл с использованием htaccess относительно файла htaccess] (https://stackoverflow.com/questions/9045445/auto-prepened-php-file-using-htaccess-relative-to- Htaccess-файл) "? – Siguza

ответ

1

Предполагая, что обновленный ответ на принятый ответ here работы, и что ваша относительная структура каталогов, как вы описываете:

[docroot] 
| 
\- init.php 
| 
\- public_html 
    | 
    \- .htaccess 
    | 
    \- index.php 

, то вы должны быть в состоянии перейти на один каталог в init.php файл, который вы хотите preend, включив директиву

php_value auto_prepend_file ./../init.php 

в ваш .htaccess файл.

0

Я решил с помощью PHP создать файл .htaccess.

Создайте файл htaccess.php со всеми вещами, которые вы хотите поместить в файл htaccess.

php_value auto_prepend_file [INIT]init.php 

Затем создайте пустой .htaccess файл с правильными разрешениями.

Затем запустите класс ниже и замените [INIT] на абсолютный путь.

Вот класс для генерации файла .htaccess:.

<?php 

    class Install { 

     public static function htaccess(){ 

      $file = ".htaccess"; 

      ob_start(); 

       include "htaccess.php"; 
       $htaccess = ob_get_contents(); 

      ob_end_clean(); 

      $absolute = __DIR__; 
      $init = $absolute; 

      $init = str_replace("public_html", "", $init); 

      $htaccess = str_replace("[INIT]", $init, $htaccess); 

      $opFile = fopen($file, 'w'); 

      file_put_contents($file, $htaccess, FILE_APPEND); 

      fclose($opFile); 

     } 

    } 

?> 
Смежные вопросы