我的通配符子域无法正常工作

时间:2013-09-12 16:44:45

标签: php apache .htaccess virtualhost wildcard-subdomain

全部,

我正在尝试为我的用户创建动态子域,例如 username.host.com ,而不是 www.host.com/user.php?user=username

为此我在托管中创建了一个A RECORD 的 *.mosto.in 208.91.199.44 Active

在我的.htaccess文件中,我添加了以下内容

RewriteEngine on
RewriteCond   %{HTTP_HOST}                 ^www\.[^.]+\.mosto\.in$
RewriteRule   ^(.+)                        %{HTTP_HOST}$1          [C]
RewriteRule   ^www\.([^.]+)\.mosto\.in(.*) /home/$1$2

我在Apache官方网站http://httpd.apache.org/docs/2.0/misc/rewriteguide.html#content

上找到的上述代码

但是当我试图打开 dev.mosto.in 时没有打开。

任何线索或想法?哪里我做错了?

2 个答案:

答案 0 :(得分:1)

通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在.htaccess目录下的DOCUMENT_ROOT中:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.
RewriteRule ^$ http://www.mosto.in/user.php?user=%1 [L,QSA,R]

答案 1 :(得分:0)

RewriteEngine On

# Redirecting wildcard subdomains to store.php
RewriteCond %{HTTP_HOST} ^(^.*)\.mosto.in
RewriteRule (.*)  store.php?store=%1

解决了我的问题。