1

如果我在浏览器中输入以下链接。

http://sub.domain.com然后它会打开 http:/domain.com/page.php?c=sub 并且在浏览器地址栏中访问者会看到http://sub.domain.com

我知道可以通过重写 url 来完成。谁能告诉我htaccess代码?

4

2 回答 2

2

恰恰相反,它不能通过重写 url 来完成。
您需要设置

  • DNS 服务器(将所有子域定向到您的服务器)
  • 和网络服务器(接受它们)。

然而,您不需要查询字符串也不需要重写,因为您总是可以轻松地从HTTP_HOST变量中获取您的域。

于 2013-03-08T18:03:42.553 回答
2

我认为你应该分两步完成。

第 1 步

如果您可以直接访问您的控制面板,您应该进入它并使用星号创建一个通用虚拟子域 *

完成此步骤后,您可以使用sub.domain.com. 如果您没有控制面板的王牌,请让管理员为您完成。

第 2 步:您应该使用以下行编辑 .htaccess 文件

# 提取 domain.com 的子域部分

RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.com$ [NC]

# 检查子域部分不是www和ftp和mail

RewriteCond %1 !^(www|ftp|mail)$ [NC]

# 将所有请求重定向到作为参数传递子域的 php 脚本

RewriteRule ^.*$ http://www.domain.com/page.php?c=%1 [R,L]

我希望这可以帮助你

于 2013-03-11T05:59:17.237 回答