【问题标题】:htaccess multi domain redirecthtaccess 多域重定向
【发布时间】:2014-12-24 03:13:25
【问题描述】:

我们如何将多个域的 .htacess 设置为不同的文件夹。

到目前为止,我得到了。

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteRule ^(/)?$ domain [L]

然后将网址 www.domain.com 重定向到 www.domain.com/domain

现在我想删除该文件夹,以便我只得到 www.domain.com

接下来我需要 3 个域。

  • www.domain.com -> /domain
  • www.foo.com -> /foo
  • www.bar.com -> /bar

【问题讨论】:

    标签: .htaccess redirect dns


    【解决方案1】:

    试试:

    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{THE_REQUEST} \ /+([^/]+)
    RewriteCond %{HTTP_HOST}//%1 ^(www\.)?(.+)\.com//\2$ [NC]
    RewriteRule ^([^/]+)(.*)$ /$2 [L,R]
    
    RewriteCond %{HTTP_HOST} ^(www\.)?(.+)\.com$ [NC]
    RewriteCond %2//$1 !^(.+)//\1$
    RewriteRule ^([^/]+)(.*)$ /%2/$1$2 [L]
    

    【讨论】:

    • Internal Server Error 服务器遇到内部错误或配置错误,无法完成您的请求。
    • @Matthias 抱歉,错字,其中一个 COnd 应该是 Rule,最后一条规则中的 %1 应该是 %2
    • 工作完美。我怎样才能对子域做同样的事情?所以如果我有他重新定义到 /folder 的 folder.domain.com
    • 所以当我使用你的代码时,我得到子域请求的 URL /folder.domain/index.php 在此服务器上找不到。我只需要 /folder/
    • 它不适用于子域,这将需要一个完全不同的解决方案
    猜你喜欢
    • 2011-03-23
    • 1970-01-01
    • 2012-05-07
    • 2019-10-13
    • 2020-07-26
    • 2017-03-17
    • 2012-01-01
    • 1970-01-01
    相关资源
    最近更新 更多