首页 > 解决方案 > Apache虚拟主机,没有别名的主机webside

问题描述

我可以使用 Alias 托管网站。

比 URI 看起来像:www.myside.com/alias

我在/etc/apache2/sites-available/www.myside.com.conf中使用它来实现这一点

 Alias /alias"/usr/local/tomcat/alias"
 <Directory "/usr/local/tomcat/alias">
     Options -Indexes -FollowSymLinks
     AllowOverride AuthConfig
     Require all granted
 </Directory>

我需要的是我能够使用以下内容托管主要上下文: www.myside.com和带有别名的图像上下文,如下所示:www.myside.com/userimg<Directory></Directory>所以我只需要没有别名的主块。

顺便说一句,我正在使用 JKmount。

图像上下文:

 Alias /userimg "/usr/local/tomcat/userimg"
      <Directory "/usr/local/tomcat/userimg">
         Options -Indexes -FollowSymLinks
         AllowOverride AuthConfig
         Require all granted
      </Directory>

标签: linuxapachedebianwebservervhosts

解决方案


阅读您的问题,我假设:

  • 您的网站不是 SSL。

  • 因此它将使用端口 80

  • 你有一个网站,比如说http://www.example.com

  • 您网站的文件存储在/usr/local/tomcat/alias

  • 您网站的主页index.html位于/usr/local/tomcat/alias

  • 您网站的图像文件按/usr/local/tomcat/userimg

  • 在您的 HTML 文件中,您可以像这样引用其他页面:

    <a href="otherpage.html">Other page</a>
    
  • 你引用这样的图像:

    <img src="userimg/someimage.png" alt="Some Image">
    

您的配置将如下所示:

<VirtualHost *:80>
    ServerName www.example.com
    ServerAlias example.com

    ErrorLog "logs/error_log"
    CustomLog "logs/access_log" combined

    DocumentRoot "/usr/local/tomcat/alias"
    DirectoryIndex index.html

    Alias "/userimg" "/usr/local/tomcat/userimg"

    <Directory "/usr/local/tomcat/alias">
        Options -Indexes -FollowSymLinks
        AllowOverride AuthConfig
        Require all granted
    </Directory>

</VirtualHost>

如果你想完全避免Alias,你可以/usr/local/tomcat/alias/usr/local/tomcat/userimg.

cd /usr/local/tomcat/alias
ln -s /usr/local/tomcat/userimg userimg

而且您必须允许 Apache 遵循<Directory>指令中的链接。


或者您可以将图像移到/usr/local/tomcat/alias/userimg.


推荐阅读