使用PHP动态添加到.htaccess文件?

| 我想做的是使网站上线的过程自动化。这些网站都是使用htaccess动态创建的,因此下面是一个示例:
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} ^(www\\.)?domain\\.com$ [NC]
RewriteRule ^(.*)$ /folder%{REQUEST_URI}?%{QUERY_STRING} [QSA,L]
我要做的是为domain.com添加域别名,然后将其指向我的服务器IP,然后htaccess文件使它查看/ folder中的内容。 它工作正常,但我们计划拥有数百个网站,并且将代码片段手动添加到htaccess中会变得很烦人。由于我要更改的是domain.com和/ folder,因此如果我创建表单并告诉它域和文件夹,有没有一种方法可以使用PHP将其动态添加到.htaccess文件的底部,它将添加它到htaccess文件的底部? 这样可以节省很多时间。 非常感谢。     
已邀请:
        我真的不建议您允许php向.htaccess中添加任何内容,这会带来很大的安全风险。
//but here is your code
$f = fopen(\".htaccess\", \"a+\");
fwrite($f, \"your content\");
fclose($f);
    
        干得好:
function writeht($domain, $folder)
{
    $fp = fopen(\'.htaccess\',\'a+\');
    if($fp)
    {
        fwrite($fp,\'

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} ^(www\\.)?\'.str_replace(\'.\',\'\\.\',$domain).\'$ [NC]
RewriteRule ^(.*)$ /\'.$folder.\'%{REQUEST_URI}?%{QUERY_STRING} [QSA,L]\');
        fclose($fp);
    }
}

//usage: writeht(\"domain.biz\",\"yourfolder\");
.htaccess
上具有
0644
权限,对我来说效果很好(因为php在与文件所有者相同的用户身份下运行)     
        当然。只要该进程有权写入该文件,它就是另一个文件。     
        一种非常舒适的方法是使用PEAR类File_HtAccess。但是如前所述,您不应该通过可通过网络访问的PHP脚本编写文件。     

要回复问题请先登录注册