【发布时间】:2013-07-11 13:42:42
【问题描述】:
我在这里看了一整天,虽然我看到了类似的问题并且我设法得到了我的问题的部分答案,但我仍然错过了一个主要部分。
我想要做的是,在我的系统中使用动态子域(例如 username.mydomain.dk)。
到目前为止我所管理的:
- 更改 DNS 以支持通配符 *.mydomain.dk
- 从我的主域 (www.simon-smith.dk) 进行 .htaccess 重定向
- 成功查看 mydomain.dk 页面
现在的问题是,我有几个网站共享相同的 IP 地址。 www.simon-smith.dk 是主域,mydomain.dk 也在这个 IP 上。因此,在请求 *.mydomain.dk 时,我将首先访问 www.simon-smith.dk。从这里我在 .htaccess 中添加了以下内容:
# *.mydomain.dk redirectd
RewriteCond %{HTTP_HOST} !^www\.mydomain\.dk$ [NC]
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain.dk$ [NC]
RewriteRule ^(.*)$ http://mydomain.dk/?subrequest=%1 [P,L,QSA]
这里我是使用P标志去其他域,但是显然这会阻塞mydomain.dk上的重写规则,如下:
# match those that do not have language code
RewriteCond %{REQUEST_URI} !^/public/[a-z]{2}/ [NC]
RewriteRule ^(.*)$ index.php?url=$1 [PT,L,QSA]
# match those that DO have a language code
RewriteCond %{REQUEST_URI} !^/public/js/
RewriteRule ^([a-z]{2})/(.*)$ index.php?lang=$1&url=$2 [PT,L,QSA]
我可以从url访问子请求参数没有任何问题,但是url参数不再注册。
有没有办法使用 .htaccess 来执行此重定向,或者我是否必须获得一个以 mydomain.dk 作为主域的网络服务器才能正确完成重定向?
【问题讨论】:
标签: .htaccess mod-rewrite wildcard-subdomain