虚拟子域加上其他参数

时间:2013-03-27 16:35:39

标签: .htaccess mod-rewrite

我有以下规则可行。它只是让我能够创建虚拟子域:

RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^.]+)\.domain\.com$ [NC]
RewriteRule ^(.*)$ /projects/index.php?project=%2 [L,QSA]

当它project.domain.com完全没问题的时候,我需要掩饰project.domain.com/first/domain.com/index.php?project=%2&a=firstproject.domain.com/first/second/domain.com/index.php?project=%2&a=first&b=second

我已经尝试了几件事,但都没有奏效。我可以列出它们,但所有描述都会有点长。如果有人可以提供帮助,那就太好了,否则请评论用我已经尝试过的任何内容及其结果来更新我的问题。

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^.]+)\.domain\.com$ [NC]
RewriteCond %{REQUEST_URI} !index\.php  [NC]
RewriteRule ^([^/]+)/?([^/]+)?/? /projects/index.php?project=%2&a=$1&b=$2  [L,QSA,NC]

方法

如果重定向是:

http://domain.com/index.php?project=%2&a=first&b=second

与上一个示例中一样,将以前的重写规则替换为:

RewriteRule ^([^/]+)/?([^/]+)?/?  http://domain.com/index.php?project=%2&a=$1&b=$2 [L,QSA,NC]