【问题标题】:How can I support multiple domains in one htaccess file?如何在一个 htaccess 文件中支持多个域?
【发布时间】:2017-05-15 12:36:47
【问题描述】:

我在一个无法直接修改 Apache conf 文件的托管环境中,所以我依赖于 htaccess 文件。

我有一个 public_html 目录,我想对其进行设置,以便我可以拥有如下子目录,这样当访问者在浏览器中访问 alpha.com 时,他们会从该目录中获取内容,依此类推:

public_html/alpha.com   # Used when visitors access alpha.com
public_html/bravo.com   # Used when visitors access bravo.com
public_html/charlie.com # Used when visitors access charlie.com

如何使用 public_html 根目录中的 htaccess 文件执行此操作?

我不想使用任何类型的客户端重定向。我想在服务器端映射这些。

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    你可以使用:

    RewriteEngine on
    
    RewriteCond %{HTTP_HOST} ^(www\.)?alpha\.com [NC]
    RewriteRule ^((?!alpha\.com/).*)$ /alpha.com/$1 [NC,L]
    
    RewriteCond %{HTTP_HOST} ^(www\.)?bravo\.com [NC]
    RewriteRule ^((?!bravo\.com/).*)$ /bravo.com/$1 [NC,L]
    
    RewriteCond %{HTTP_HOST} ^(www\.)?charlie\.com [NC]
    RewriteRule ^((?!charlie\.com/).*)$ /charlie.com/$1 [NC,L]
    

    或者,如果您始终使用相同的目录名称,您可以使用:

    RewriteCond %{HTTP_HOST} ^(?:www\.)?((?:alpha|bravo|charlie).com) [NC]
    RewriteCond %1::%{REQUEST_URI} !^(.*?)::/\1/?
    RewriteRule ^(.*)$ /%1/$1 [NC,L]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-19
      • 1970-01-01
      • 2012-10-14
      • 2012-12-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多