【问题标题】:How to route all the subdomain to the same folder in AWS EC2如何将所有子域路由到 AWS EC2 中的同一文件夹
【发布时间】:2018-05-10 07:22:20
【问题描述】:

我在 AWS EC2 上托管一个网站,我希望网站的所有子域都指向同一个文件夹,即 /var/www/html/laravel/public,如下所示:如何实现?我尝试将通配符放在 server_name 前面,*.example.com,但它不起作用。如何达到同样的效果?

server {
    listen 80;
    listen [::]:80;

    . . .

    root /var/www/html/laravel/public;
    index index.php index.html index.htm index.nginx-debian.html;

    server_name example.com www.example.com *.example.com;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    . . .
}

【问题讨论】:

  • 我认为类似于www.example.subdomain.com 的子域是否呈现与www.example.com 相同的内容?因为您通常需要注册才能使用通配符 DNS。
  • 它们都呈现相同的内容。我需要为某些内部逻辑捕获子域名,这是我想要这样做的唯一原因。

标签: amazon-web-services amazon-ec2 dns amazon-route53


【解决方案1】:

尝试使用*.domain.com点赞:

<VirtualHost 111.222.33.4>
    ServerName domain.com
    ServerAlias *.domain.com
</VirtualHost>

这会导致虚拟主机被用于所有没有虚拟主机的子域。

【讨论】:

    【解决方案2】:

    使用 test 作为我们的站点检查以下内容

    <VirtualHost *:80>
    ServerAdmin webmaster@test.com
        DocumentRoot /home/test/public/
        ServerName test.com
        ServerAlias www.test.com
    </VirtualHost>
    
    <VirtualHost *:80>
    ServerAdmin webmaster@subdomain.test.com
        DocumentRoot /home/test/public/
        ServerName subdomain.test.com
        ServerAlias www.subdomain.test.com
    </VirtualHost>
    

    以上是单个子域的示例,即“子域”。对于所有子域,请使用以下

    <VirtualHost *:80>
        ServerAdmin webmaster@subdomain.test.com
        DocumentRoot /home/test/public/
        ServerName test.com
        ServerAlias *.test.com
    </VirtualHost>
    

    【讨论】:

      猜你喜欢
      • 2013-06-09
      • 2018-05-24
      • 2015-01-31
      • 1970-01-01
      • 1970-01-01
      • 2021-06-14
      • 2015-08-01
      • 2016-11-28
      • 2020-08-30
      相关资源
      最近更新 更多