根目录-www或public_html


1

是否保留所有文件(直接从FTP访问)的根目录始终是“ www”或“ public_html”,具体取决于哪个操作系统?还是可以重命名此文件夹?如果是这样,该文件夹能够识别的唯一之处是什么?即目前我只是写这个;

my $root;
my $ftp = Net::FTP->new($DB_ftpserver, Debug => 0) 
                              or die "Cannot connect to some.host.name: $@";
$ftp->login($DB_ftpuser, $DB_ftppass) or die "Cannot login ", $ftp->message;
my @list = $ftp->dir;

if( scalar @list != 0 ) {
  foreach( @list ){
     if( $_ =~ m/www$/g ){
       $root = "www";
       last;
     }elsif( $_ =~ m/public_html$/g ){
       $root = "public_html";
       last;
     }
   }
 }

但如果使用其他名称则无法正常工作。

任何帮助,不胜感激。


每个网站的“我的文档根目录”始终为〜/ domainname /。您可以根据自己的喜好进行配置。
Rich Bradshaw

Answers:


2

我将以Apache httpd的名义来讲,因为它是一个非常流行的Web服务器。

保留所有文件的根目录通常称为DocumentRoot。请记住,文件保留在DocumentRoot由Web服务器提供的,而不是在您通过FTP登录时显示给您的。FTP是与网站无关的完全不同的协议,在这种情况下,它只是允许您(用户)修改/更新远程服务器上文件的一种方式。

您在问题中谈论的www / public_html目录可能不是DocumentRoot。这是Apache的附加功能,即mod_userdir模块。请查阅其文档

如文档中所述,Apache的配置文件中有一个UserDir设置,可让您自定义这些用户目录的名称,网络服务器将从该目录中为属于不同用户的站点提供服务。

由于对UserDir没有限制,因此您可以在其中拥有任何内容,甚至foob​​ar。您可以通过此目录的内容(HTML文件,图像)判断该目录可以是包含Apache公开的网站的用户目录。但是我会说,使用脚本自动执行此操作对我来说并不可靠。更不用说例如,您可以拥有一个不是用户目录的public_html目录,其名称与Apache UserDir设置的默认值匹配只是一个简单的巧合。理想情况下,为了判断目录是否为UserDir,则需要访问Web服务器的配置文件。而且通常您没有。Web托管提供商可以在您的主目录中最多放置特定于用户的日志。

总结一下:如果您需要对用户目录执行任何操作,请将其作为输入数据出现在脚本中:命令行参数,配置文件中的设置等,但不要尝试猜测。


0

这完全取决于服务器的默认配置。您也可以配置到另一个位置。

在Windows上可以是:

C:\ xampp \ htdocs \

要么

C:\ vhost \ public \ www \

或其他地方

属于超级用户吗?


0

该名称可在Apache中配置(DocumentRoot-根据2.2.x文档,默认值为/ usr / local / apache / htdocs)。我在办公室的计算机既没有使用您提到的任何选项(暂时,我认为它使用的是htdocs,但是自从我上次摆弄它已有一段时间了)。

OTOH,既然您提到FTP,也许您在想其他事情。基本目录仍然是可配置的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.