.htaccess 需要将子域显示为url而不是目录路径

.htaccess 需要将子域显示为url而不是目录路径,.htaccess,redirect,subdomain,.htaccess,Redirect,Subdomain,我昨天创建了一个子域名www.subdomain.example.com。这在根目录下创建了一个名为subdomain的目录。现在,当我打开www.subdomain.example.com时,它会被重定向到www.example.com/subdomain。如何防止我的url显示目录路径,即在地址栏中,它保持显示www.subdomain.example.com,同时显示目录子域中的内容。 我在hostgator有一个共享托管帐户。 感谢.htaccess文件中的帮助,请关闭重定向并使用mod

我昨天创建了一个子域名www.subdomain.example.com。这在根目录下创建了一个名为subdomain的目录。现在,当我打开www.subdomain.example.com时,它会被重定向到www.example.com/subdomain。如何防止我的url显示目录路径,即在地址栏中,它保持显示www.subdomain.example.com,同时显示目录子域中的内容。 我在hostgator有一个共享托管帐户。
感谢.htaccess文件中的帮助,请关闭重定向并使用mod_rewrite:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?subdomain\.example\.com$
RewriteCond %{REQUEST_URI} !^/subdomain
RewriteRule ^(.*)$ /subdomain/$1 [L]

这将检查请求的主机是否为
www.subdomain.example.com
subdomain.example.com
,以确保请求未以
/subdomain
开头,否则将追加请求。这会在服务器上进行内部重定向,因此您的浏览器实际上不会被重定向(地址栏仍会显示:subdomain.example.com)。

刚刚解决了问题,jon给出的代码是正确的。我正试图将.htaccess文件上载到root,而我本应上载到子域目录。我对jon代码做的一个小编辑是在第三行。我给出了目录的完整路径。所以代码的第三行看起来像是重写的%{REQUEST\u URI}奇怪,%%{REQUEST\u URI}不包括主机名或“http://”,它只是路径(例如
/subdomain
)。该条件永远不会匹配。我已将完整路径包含在中。在我的.htaccess文件中。我只是注意到,当我在stackoverflow的注释区域中写入完整路径时,它会删除。部分,但添加一个链接。这就是为什么它看起来不正确的原因1.我是个新手。对不起,错过了