我正在尝试将 URL 重定向到相应的子域。
例如:
example.com/account/user
example.com/account/user2
到
user.example.com
user2.example.com
我努力了:
Redirect /account/user http://user.example.com
但这显示的是的主页example.com
而不是的内容example.com/account/user
。
在域级别,我将 *
其设置为别名example.com
。
答案1
您的重定向按预期工作。您没有配置任何会在 处显示不同内容的东西http://user.example.com
,所以应该发生这种情况吗?
你为什么要这么做?通常你会重定向http://user.example.com
到类似 的地方http://example.com/account/user
。你想为每个新用户更改 Apache 配置吗?使用评估客户端发送的 Host 标头的脚本?
我认为你想要的是
RewriteCond "%{HTTP_HOST}" "!^www\.example\.com" [NC]
RewriteCond "%{HTTP_HOST}" "!^example\.com" [NC]
RewriteRule "^/?(.*)" "http://www.example.com/account/%{HTTP_HOST}/$1" [L,R,NE]
你说你想要的可以通过以下方式实现
RewriteRule /account/(.*) "http://$1.example.com/"
但我认为你真正想要的恰恰相反。