使用Htaccess的单域多框架?

时间:2017-05-30 10:47:56

标签: apache .htaccess virtualhost mod-alias

我在服务器技术上太新了。我在单域中配置多个框架时遇到了一些问题。

场景是,我有一个像下面的文件夹结构

/web
        /project-angular
            /dist/index.html

        /project-aurelia
            /index.html

        /project-wordpress
            /index.php

我需要使用单一域设置这些项目,条件为:

1 if user access domain.com then need to run project-angular/dist/index.html

2 if user access domain.com/blog/(*) then need to run project-wordpress/index.php

3 if  user access domain.com/(*) then need to run project-aurelia/index.html

我正在本地尝试这个实验,所以我可以访问每个文件。

请建议我如何实现这一目标。我曾尝试过.htaccess,但它对我来说就像是外语。

编辑:

我不想将用户重定向到其他域。我只是想要,如果访问domain.com然后根据上面的描述文件夹代码应该运行。

感谢。

1 个答案:

答案 0 :(得分:1)

我找到了解决这个问题的方法。现在和你分享我所做的一切。如果您有任何查询,请检查并告诉我。 创建别名。

1使用Aurelia项目目录设置domain.com。因为除了/和/ blog我们需要来自Aurelia的所有其他网址。 (第3点的解决方案)

2为博客创建别名部分/ blog。并使用WordPress项目目录设置domain.com/blog/(*)。 (第2点的解决方案)。

3对于URL /创建其他Alias例如/ home并使用Angular项目目录设置domain.com/home。并将Angular项目保留在Aurelia Root目录中。

每当用户访问domain.com

时,将用户重定向到Angular基本URL

在httpd-vhosts.conf文件中添加以下代码。

<Directory "path-to-aurelia/project-aurelia/">
    DirectoryIndex project-angular/dist/index.html
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Require all granted
</Directory>

现在所有Angular链接都将在domain.com/home/(*)上运行。 (第1点的解决方案)