我有以下规则可行。它只是让我能够创建虚拟子域:
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=first
和project.domain.com/first/second/
到domain.com/index.php?project=%2&a=first&b=second
。
我已经尝试了几件事,但都没有奏效。我可以列出它们,但所有描述都会有点长。如果有人可以提供帮助,那就太好了,否则请评论用我已经尝试过的任何内容及其结果来更新我的问题。
答案 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]