Apache Virtual Host,没有别名的主机webside

Apache Virtual Host, host webside without alias

我可以使用 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 and an image context with the alias, looking like this: 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>

阅读您的问题后,我认为:

  • 您的站点未使用 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 下。