将每个子域重定向到单个目录
Redirect every subdomain to single directory
这和.htaccess rewrite subdomain to directory
几乎一样
此解决方案有效:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([^.]+)\.jcubic\.atthost24\.pl$
RewriteRule ^((?!subdomains/).*)$ /subdomains/%1/ [L,NC,QSA]
但是我想转发但是没有/subdomains目录所以
http://img.jcubic.atthost24.pl/.*
应该读作 http://jcubic.atthost24.pl/img/.*
这可能吗?这行不通
RewriteRule ^((?!%1/).*)$ /%1/ [L,NC,QSA]
我不确定我有什么版本的 Apache。
这可能就是您要查找的内容:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^img\.jcubic\.atthost24\.pl$
RewriteRule ^/?(.*)/?$ /img/ [END,QSA]
但是请注意,您应该尝试将此类规则放在 http 服务器的主机配置中,而不是使用动态配置文件 (".htaccess")。
不过,以上规则在两种情况下都适用。
如果您遇到内部错误(http 状态 500),请检查错误日志文件。如果它抱怨一个未知的 END
标志,那么您可能使用了一个非常旧版本的 apache http 服务器。在那种情况下尝试 L
标志,它应该在这里工作相同,尽管这实际上取决于具体情况。
更新,根据您的评论:
如果要以动态方式处理主机名 "img",您可以这样做:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([^.]+)\.jcubic\.atthost24\.pl$
RewriteRule ^/?(.*)/?$ /%1/ [END,QSA]
也许您想检查该文件夹是否实际存在于 http 服务器的物理文件系统中。
这和.htaccess rewrite subdomain to directory
几乎一样此解决方案有效:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([^.]+)\.jcubic\.atthost24\.pl$
RewriteRule ^((?!subdomains/).*)$ /subdomains/%1/ [L,NC,QSA]
但是我想转发但是没有/subdomains目录所以
http://img.jcubic.atthost24.pl/.*
应该读作 http://jcubic.atthost24.pl/img/.*
这可能吗?这行不通
RewriteRule ^((?!%1/).*)$ /%1/ [L,NC,QSA]
我不确定我有什么版本的 Apache。
这可能就是您要查找的内容:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^img\.jcubic\.atthost24\.pl$
RewriteRule ^/?(.*)/?$ /img/ [END,QSA]
但是请注意,您应该尝试将此类规则放在 http 服务器的主机配置中,而不是使用动态配置文件 (".htaccess")。
不过,以上规则在两种情况下都适用。
如果您遇到内部错误(http 状态 500),请检查错误日志文件。如果它抱怨一个未知的 END
标志,那么您可能使用了一个非常旧版本的 apache http 服务器。在那种情况下尝试 L
标志,它应该在这里工作相同,尽管这实际上取决于具体情况。
更新,根据您的评论:
如果要以动态方式处理主机名 "img",您可以这样做:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([^.]+)\.jcubic\.atthost24\.pl$
RewriteRule ^/?(.*)/?$ /%1/ [END,QSA]
也许您想检查该文件夹是否实际存在于 http 服务器的物理文件系统中。