mod_rewrite:剥离子域并转换为URL参数

时间:2012-06-18 16:23:42

标签: mod-rewrite

我有一个网络应用,我为每个客户保留一个子域名,例如:http://clientNo32.myApp.com 由于一些服务器的繁琐,我必须将这些内容转发到http://123.456.78:1002/clientNo32/app/index.php

的新服务器

文件夹“clientNo32”不存在,它只是我想从URL获取的参数。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

我认为你正试图做这样的事情?

RewriteEngine On

# Don't know if you need this, exclude www hosts
RewriteCond %{HTTP_HOST} !^www [NC]

# Make sure we don't already have a "cId" in the query string
RewriteCond %{QUERY_STRING} !cId=

# match the subdomain
RewriteCond %{HTTP_HOST} ^([^\.]+)\.myapp.com$ [NC]

# add subdomain to URI as a query string
RewriteRule ^(.*)$ /app/index.php?cId=%1 [L,QSA]

这样,当您请求以http://clientNo32.myApp.com/开头的内容时,它会被重写为/app/index.php?cId=clientNo32