Dre*_*rew 5 php dns .htaccess mod-rewrite dynamic
我想要做的是自动化网站上线的过程.这些网站都是使用htaccess动态创建的,所以这里有一个例子:
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC]
RewriteRule ^(.*)$ /folder%{REQUEST_URI}?%{QUERY_STRING} [QSA,L]
Run Code Online (Sandbox Code Playgroud)
我所做的是为domain.com添加域别名,然后将其指向我的服务器IP,htaccess文件使其查看/文件夹中的内容.
它工作正常,但我们计划有数百个网站,并手动将这些代码片段添加到htaccess可能会非常烦人.因为我要更改的是domain.com和/文件夹,有没有办法使用PHP动态添加到.htaccess文件的底部如果我创建一个表单并告诉它域和文件夹,它会添加它到htaccess文件的底部?
这样可以节省很多时间.
非常感谢.
gen*_*sis 27
我真的不建议允许php将任何内容添加到.htaccess中,这是一个很大的安全风险.
//but here is your code
$f = fopen(".htaccess", "a+");
fwrite($f, "your content");
fclose($f);
Run Code Online (Sandbox Code Playgroud)
干得好:
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");
Run Code Online (Sandbox Code Playgroud)
对我0644有好处的权限.htaccess(因为php在与文件所有者相同的用户下运行)