Mod rewrite hostgator:到URL的通配符子域映射

Mod rewrite hostgator:到URL的通配符子域映射,mod-rewrite,Mod Rewrite,在过去的3个小时里,我一直在hostgator共享托管服务器上努力解决这个问题。这是最简单的问题 这就是我想要实现的映射: subdomain.domain.com-->www.domain.com/test.php?用户=子域 但由于某些原因,每当我进入“subdomain.domain.com”时,重定向不会发生,甚至URL在我的浏览器中也不会更改。我看到加载页面上列出了test.php文件(因为服务器上只有.htaccess和test.php文件) 这是.htacess代码 &l

在过去的3个小时里,我一直在hostgator共享托管服务器上努力解决这个问题。这是最简单的问题

这就是我想要实现的映射: subdomain.domain.com-->www.domain.com/test.php?用户=子域

但由于某些原因,每当我进入“subdomain.domain.com”时,重定向不会发生,甚至URL在我的浏览器中也不会更改。我看到加载页面上列出了test.php文件(因为服务器上只有.htaccess和test.php文件)

这是.htacess代码

     <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteBase /

            <IfModule mod_proxy.c>
                    RewriteCond %{HTTP_HOST} !^www. [NC]
                    RewriteCond %{HTTP_HOST} ^([a-z0-9]+).domain.com(.*)$ [NC]
                    RewriteRule ^(.*)$ http://www.domain.com/test.php?user=$1$2 [P,L]
            </IfModule>

            <IfModule !mod_proxy.c>
                    RewriteCond %{HTTP_HOST} !^www. [NC]
                    RewriteCond %{HTTP_HOST} ^([a-z0-9]+).domain.com(.*)$ [NC]
                    RewriteRule ^(.*)$ http://www.domain.com/test.php?user=$1$2 [R=301,L]
            </IfModule>
    </IfModule>

重新启动发动机
重写基/
重写cond%{HTTP_HOST}^www.[NC]
重写cond%{HTTP_HOST}^([a-z0-9]+).domain.com(.*)$[NC]
重写规则^(.*)$http://www.domain.com/test.php?user=$1$2[P,L]
重写cond%{HTTP_HOST}^www.[NC]
重写cond%{HTTP_HOST}^([a-z0-9]+).domain.com(.*)$[NC]
重写规则^(.*)$http://www.domain.com/test.php?user=$1$2[R=301,L]
这是test.php代码

<?php echo $_GET['user']; ?>


有人知道这是什么问题吗?这种支持对我没有帮助。我认为服务器配置有问题。

RewriteCond
反向引用使用百分比,而不是美元符号!%1美元,而不是1美元

RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteCond %{HTTP_HOST} ^([a-z0-9]+).domain.com(.*)$ [NC]
                          ^ %1                  ^ %2
RewriteRule ^(.*)$ http://www.domain.com/test.php?user=$1$2 [R=301,L]
             ^$1                                       ^^^^ oops

$1
表示从左边的正则表达式中提取某物;%1表示将其从
RewriteCond
中拉出。假设重写器不会因为
$2
是一个悬而未决的反向引用而窒息,那么您可能会将整个匹配作为用户部分进行粘贴。

我刚刚尝试过,但仍然看到相同的问题。我在错误日志客户端被服务器配置拒绝:/home/user/public\u html/.htaccess中看到了这一点。如果问题是“它不工作”,则是相同的问题。在请求domain.com url时,如果没有index.php文件,我发现这是常见的服务器错误。根据你的建议,我成功了。谢谢