【问题标题】:Domain rewrites to a folder域重写到文件夹
【发布时间】:2012-04-10 17:45:27
【问题描述】:

我对整个 .htaccess 东西还很陌生,但我有一个问题。我想建立一个系统,以便在域之前键入的所有内容都重写到网站上的文件夹。为了更清楚,这是一个例子:

如果用户输入例如:

example1.example.com

它必须从根 /example1/ 文件夹中获取站点。

如果用户输入例如:

klsdjf.example.com 

它必须从根 /klsdjf/ 文件夹中获取站点。

我希望这是对我想要实现的目标的清晰解释。

谢谢,

【问题讨论】:

  • 感谢您的快速回复,但是当我实现它时,它给了我这个错误:此外,在尝试使用 ErrorDocument 处理请求时遇到了 403 Forbidden 错误。

标签: .htaccess


【解决方案1】:

据我了解,您希望将通配符子域中的重写规则路由到根文件夹。

所以,

*.example.com => example.com/*

第 1 步:配置您的 DNS

首先,您必须确保您的 DNS 主机配置正确。您必须确保您的域接受指向主机 IP 地址的通配符 (*)。这应该是一个简单的 A 记录。

第 2 步:告诉 Apache 以不同方式对待子域

完成后,您必须告诉 Apache 以不同的方式处理子域。

在 httpd.conf 中,查找如下所示的内容:

ServerAlias www.example.com example.com

把它改成这样:

ServerAlias www.example.com example.com *.example.com

example.com 当然是您网站的名称。

第 3 步。实际重写规则

然后,这是您的 .htaccess:

   Options +FollowSymLinks
   Options +Indexes
   RewriteEngine On
   RewriteBase /
   RewriteCond %{HTTP_HOST} !www.example.com$ [NC]
   RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).example.com [NC]
   RewriteRule (.*) %2/$1 [L]

应该可以的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-30
    • 2012-11-20
    • 2021-11-22
    • 1970-01-01
    • 1970-01-01
    • 2011-08-05
    相关资源
    最近更新 更多