是否有可能获得绝对路径到我的" .htaccess"文件?
我使用它在每个文件中加载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 :(得分:1)
假设已接受的答案here的更新响应有效,并且您的相对目录结构与您描述的一样:
[docroot]
|
\- init.php
|
\- public_html
|
\- .htaccess
|
\- index.php
那么你应该可以通过包含指令
将一个目录上传到你想要添加的init.php
文件中。
php_value auto_prepend_file ./../init.php
在.htaccess文件中。
答案 1 :(得分: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);
}
}
?>