在 Hostinger 中使用 Htaccess 将子域重定向到子文件夹

Redirect Subdomains to Subfolders using Htaccess in Hostinger

在 Hostinger 中,我限制只有 2 个免费子域。所以我一直在寻找使用 htaccess 的替代方法。在 Whosebug 上找到并尝试了几乎所有相关代码,但它们都重定向到 404 页面。以下是我在htaccess中的尝试之一:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com
RewriteRule ^(.*)$ http://domain.com/%1/ [L,NC,QSA]

如果您观察到,我正在尝试重定向 http://subdomain.domain.com to http://www.domain.com/subdomain/。我认为它主要是我的主机,它不允许我覆盖他们对 2 个子域的限制,但必须有办法解决。

注:

试试这个,它应该将子域重定向到子文件夹:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com$
RewriteCond %{REQUEST_URI} !^/subdomain/
RewriteRule (.*) /subdomain/

我有点担心它如何与您的 2 个子域限制一起使用,下面是您也可以尝试的另一种选择:

RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com$
RewriteRule ^$ http://www.domain.com/subdomain/?&%{QUERY_STRING}

编辑 1:

RewriteCond %{HTTP_HOST} ^([^/.]+)\.domain\.com$ 
RewriteCond %1 !^(www|ftp|mail)$ [NC]
RewriteRule (.+)$ "http://domain.com/%1" [L,P]

编辑 2:

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/subdomain(/|$) [NC]
RewriteCond %{REQUEST_FILENAME} !-d # not a dir
RewriteCond %{REQUEST_FILENAME} !-f # not a file
RewriteRule ^(.*)$ subdomain/ [L]