Web 根别名目录

Web 根别名目录

我想在 Ubuntu 中将另一个目录与 Apache 结合使用在我的 Web 服务器中吗?

我是 Ubuntu 的新用户。我想一步一步地了解。请帮帮我。

附言:KUbuntu 14.10,apache2

答案1

引自http://httpd.apache.org/docs/2.2/urlmapping.html

DocumentRoot 之外的文件

经常会出现需要允许 Web 访问文件系统中不严格位于 DocumentRoot 下的部分的情况。Apache 提供了几种不同的方法来实现这一点。在 Unix 系统上,符号链接可以将文件系统的其他部分置于 DocumentRoot 下。出于安全原因,Apache 仅在相关目录的选项设置包含 FollowSymLinks 或 SymLinksIfOwnerMatch 时才会跟踪符号链接。

另外,Alias 指令会将文件系统的任何部分映射到 Web 空间。例如,

别名 /docs /var/web URLhttp://www.example.com/docs/dir/file.html 将从 /var/web/dir/file.html 提供.....

这是什么意思?

sudo gedit /etc/apache2/sites-available/default

它将打开:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

现在添加别名和目录权限,假设添加/pics,我将使用家中的图片目录来为其提供服务。

输出如下:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    Alias /docs /home/user/Pictures
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
    <Directory /home/user/Pictures>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

现在重新启动 apache 服务

sudo service apache2 restart

现在输入时localhost/pics/home/user/Pictures代替/var/www

在此处输入图片描述

相关内容