change_files.cgi

来自「Unix下基于Web的管理工具」· CGI 代码 · 共 43 行

CGI
43
字号
#!/usr/local/bin/perl# change_files.cgi# Modify or delete a <Files> clause in a .htaccess filerequire './apache-lib.pl';&ReadParse();$access{'global'} || &error($text{'htaccess_ecannot'});&allowed_auth_file($in{'file'}) ||	&error($text{'htindex_ecannot'});$hconf = &get_htaccess_config($in{'file'});$d = $hconf->[$in{'idx'}];$lref = &read_file_lines($d->{'file'});if ($in{'delete'}) {	# deleting a directive	$gap = $d->{'eline'} - $d->{'line'} + 1;	splice(@$lref, $d->{'line'}, $d->{'eline'} - $d->{'line'} + 1);	splice(@$hconf, $in{'idx'}, 1);	&renumber($hconf, $d->{'line'}, $d->{'file'}, -$gap);	}else {	# changing a directive	if ($in{'regexp'}) {		if ($httpd_modules{'core'} >= 1.3) {			$newdir = "<FilesMatch \"$in{'path'}\">";			$enddir = "</FilesMatch>";			}		else {			$newdir = "<Files ~ \"$in{'path'}\">";			$enddir = "</Files>";			}		}	else {		$newdir = "<Files \"$in{'path'}\">";		$enddir = "</Files>";		}	$lref->[$d->{'line'}] = $newdir;	$lref->[$d->{'eline'}] = $enddir;	}&flush_file_lines();&redirect("htaccess_index.cgi?file=$in{'file'}");

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?