【问题标题】:How to link subdirectories using subdomain? (VirtualHost, mod_rewrite, htaccess, DNS)如何使用子域链接子目录? (虚拟主机、mod_rewrite、htaccess、DNS)
【发布时间】:2015-09-01 13:21:34
【问题描述】:

我正在使用 AWS(亚马逊网络服务)的 EC2 和 Route 53 以及 Bitnami 的 LAMP(Apache、MySQL、PHP)。

我正在尝试独立运行两个 wordpress 网站:

 ...local_path/htdocs/subsite1
 ...local_path/htdocs/subsite2

我想使用如下子域访问这些子站点:

 subsite1.mydomain.com → ...local_path/htdocs/subsite1
 subsite2.mydomain.com → ...local_path/htdocs/subsite2

此外,我想在需要时切换“mydomain.com”和“www.mydomain.com”的位置(可能一年一次或两次)。具体来说,我想在需要时在案例 A 和 B 之间切换。

Case A :
 subsite1.mydomain.com -↘︎  
 mydomain.com ----------→ ...local_path/htdocs/subsite1
 www.mydomain.com ------↗︎

 subsite2.mydomain.com → ...local_path/htdocs/subsite2

Case B :
 subsite1.mydomain.com → ...local_path/htdocs/subsite1

 mydomain.com ----------↘︎ 
 www.mydomain.com ------→ ...local_path/htdocs/subsite2
 subsite2.mydomain.com -↗︎

我尝试结合DNS(AWS Route 53)、VirtualHost、mod_rewrite和/或htaccess跟随几篇互联网文章,但没有成功,虽然我认为有几种方法可以实现。

考虑到安全性和便利性,解决此问题的最佳方法是什么?我应该如何设置它们? 提前谢谢!

【问题讨论】:

标签: amazon-web-services dns subdomain virtualhost subdirectory


【解决方案1】:

(自答)

我使用 VirtualHost 解决了这个问题。

特别是在“mydomain.com”和“www.mydomain.com”的情况下,我使用了ServerAlias

首先,我为我的服务器的ip注册了A记录:

mydomain.com. A XXX.XXX.XXX.XXX
www.mydomain.com. A XXX.XXX.XXX.XXX
subdomain1.mydomain.com. A XXX.XXX.XXX.XXX
subdomain2.mydomain.com. A XXX.XXX.XXX.XXX

其次,在 VirtualHost 的配置文件中,(在我的例子中,.../apache2/conf/extra/httpd-vhosts.conf)

NameVirtualHost *:80
<VirtualHost *:80>
        ServerAdmin email1@domainX.com
        DocumentRoot ...local_path/htdocs/subsite.mydomain.com/htdocs
        ServerName subsite1.mydomain.com
        ServerAlias subsite1.mydomain.com mydomain.com
        ErrorLog "logs/subsite1.mydomain.com-error_log"
        CustomLog "logs/subsite1.mydomain.com-acccess_log" common
</VirtualHost>


<VirtualHost *:80>
        ServerAdmin email2@domainY.com
        DocumentRoot ...local_path/htdocs/subsite2.mydomain.com/htdocs
        ServerName subsite2.mydomain.com
        ServerAlias subsite2.mydomain.com www.mydomain2.com
        ErrorLog "logs/subsite2.mydomain.com-error_log"
        CustomLog "logs/subsite2.mydomain.com-access_log" common
</VirtualHost>

效果很好!

参考(关于 VirtualHost 的韩国文章)

【讨论】:

猜你喜欢
  • 2015-02-24
  • 2012-10-03
  • 2013-04-04
  • 1970-01-01
  • 2015-11-29
  • 1970-01-01
  • 2012-01-21
  • 2011-05-24
  • 2014-06-09
相关资源
最近更新 更多