.htaccess与动态子域

.htaccess与动态子域,.htaccess,subdomain,.htaccess,Subdomain,我试图制作一个.htacces来模拟动态子域。 喜欢他的职位: 但是我不可能得到预期的结果 我已多次阅读该文件,网址为: 我对:RewriteCond、RewriteRule、正则表达式没有问题。 但我对子域有问题 我有这个页面:tododiversion.es 以我为例,我希望: chr.tododiversion.es==>tododiversion.es/chr/ 我将.htaccess放在www文件夹中:www/.htaccess 文件夹“chr”位于:www/chr/ 在htacce

我试图制作一个.htacces来模拟动态子域。 喜欢他的职位:

但是我不可能得到预期的结果

我已多次阅读该文件,网址为:

我对:RewriteCond、RewriteRule、正则表达式没有问题。 但我对子域有问题

我有这个页面:tododiversion.es 以我为例,我希望:

chr.tododiversion.es==>tododiversion.es/chr/

我将.htaccess放在www文件夹中:
www/.htaccess

文件夹“chr”位于:
www/chr/

在htacces中,我提出:

RewriteEngine On

# host starts with something else  
RewriteCond %{HTTP_HOST} ^([^\.]+)\.tododiversion\.es$  [NC]

# rewrite 
RewriteRule ^(.*)$ /chr  [L]
它不起作用

我知道URLRewriting是有效的,因为我做了一个简单的测试。 我知道RewriteCond是有效的,因为我做了一个简单的测试。 我用localhost和127.0.01在我的计算机上进行了尝试,但都不起作用

如果有人能给我一些建议,那就太好了!
Chris

问题可能是apache没有正确配置以处理子域。确保已将所有子域设置为转发到此目录,否则将永远不会执行.htaccess

<VirtualHost *:80>
ServerName domain.com
ServerAlias *.domain.com
DocumentRoot /var/www/domain.com
</VirtualHost>

ServerName域名.com
ServerAlias*.domain.com
DocumentRoot/var/www/domain.com
请记住在更新配置文件后重新启动Apache


有关参考信息,请参见

您需要在重写规则中包含$1,以便传递域后的任何URL细节

chr.tododiversion.es/page.html==>tododiversion.es/chr/page.html

根据您提供的链接,重写规则应如下所示:

# rewrite
RewriteRule ^(.*)$ /%1/$1  [L]

我认为创建子域不是强制性的。就像我添加的参考问题一样。例如:如果子域是“用户名”。主机名。而且总是有新的用户名。我明天会研究你的链接。谢谢,我相信您需要配置Apache来正确处理子域,但我可能错了。我已经用一个配置文件示例更新了我的答案。谢谢,我今天就来试试!我试过了,但没有达到我想要的效果。在我之前提到的帖子中,听起来解决方案是可行的!我真的不明白…在apache文档中:您必须首先将DNS服务器正确配置为将这些名称映射到与服务器关联的IP地址。感谢您的帮助。这是DNS的问题。。我应该使用DNS通配符。我读到没有特殊的DNS配置是可能的。。。然而,我认为人们说,没有特殊的DNS配置是可能的,他们有正确的配置,但他们不知道更多的细节:这是有道理的。很高兴你能弄明白。如果可以的话,在这里写一个关于如何解决问题的答案,这样你就可以将这个问题标记为已解决。