0

我正在尝试在 Mint linux 上设置 apache 虚拟主机。它有点工作,但有些图像不可用。例如,即使图像存在,http://test.local/icons/world.png 也会返回 404。当我检查日志时,它说它正在/usr/share/apache2/icons/world.png寻找图像,即使我将 DocumentRoot 设置为 /var/www/test.local/public_html

我就是这样做的。复制 /etc/apache2/sites-available/default 到 test.local 并像这样编辑:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName test.local   

    DocumentRoot /var/www/test.local/public_html

    <Directory /var/www/test.local/public_html/>

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

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

然后我编辑 /etc/hosts 并在其中包含127.0.0.1 test.local。运行a2ensite test.local并重新启动 apache。

我尝试做的是将我的/var/www/test.local/public_html中的文件夹映射到http://test.local有什么我遗漏的,或者更简单的方法来做到这一点。

还要提到项目的根目录或图标目录中没有 .htaccess 文件。

4

1 回答 1

1

解决 :)

这是我第二次在这里回答我自己的问题。实际上,我正在研究 2 天,并在此处发布几个小时后找到了答案。

答案是这是默认的 Apache 别名

Alias /icons/ "/usr/share/apache2/icons/"

即使我在apache2.confconf.d目录中找不到它,它看起来也存在于我的 Mint 发行版下的/etc/apache2/mods-available/alias.conf中(我猜所有 Debian 发行版都会有类似的小路)。我需要做的就是注释掉这个别名,它就可以工作了。

于 2013-10-09T14:20:05.580 回答