我需要做以下事情..遇到了各种各样的例子,但我需要结合三个条件
重定向 1)重定向非www /非子域请求。例如:
http://xyzsite.com至http://www.xyzsite.com
2)如果提到子域,则重定向。例如:
http://user1.xyzsite.com至http://www.xyzsite.com/profile?user1
3)重定向到移动版。例如:
http://m.xyzsite.com至http://www.xyzsite.com/m
技术细节: 我在IIS ver 6&使用helicontech isapi_rewrite模块
答案 0 :(得分:0)
以下是ISAPI_Rewrite v3规则(希望这是您使用的版本):
RewriteBase /
RewriteCond %{HTTP_HOST} ^xyzsite\.com$
RewriteRule .? http://www.xyzsite.com [NC,R=301,L]
RewriteCond %{HTTP_HOST} ^m\.xyzsite\.com$
RewriteRule .? http://www.xyzsite.com/m [NC,R=301,L]
RewriteCond %{HTTP_HOST} ^(?!www\.)([^.]+)\.xyzsite\.com$
RewriteRule .? http://www.xyzsite.com/profile?%1 [NC,R=301,L]
答案 1 :(得分:0)
1
^xyzsite.com$
www.xyzsite.com
2
^(?!www.)(.*).xyzsite.com$
www.xyzsite.com/profile?$1
3
^m.(.*)$
www.$1/m
答案 2 :(得分:-1)
我花了一些时间在这上面,希望能让你朝着正确的方向前进。除非您明确指定约束,否则我会提出最简单的解决方案。 这意味着我在正则表达式中硬编码xyzsite.com。这实际上是更多的解决方案
1)重定向非www /非子域请求。例如:http://xyzsite.com到http://www.xyzsite.com
pattern:
http://(.*?.com)
replacement:
http://www.$1
2)如果提到子域,则重定向。例如:http://user1.xyzsite.com到http://www.xyzsite.com/profile?user1
pattern:
(http://)(.*?)\.(.*)
replacement:
$1www.$3/profile?$2
3)重定向到移动版。例如:http://m.xyzsite.com到http://www.xyzsite.com/m
pattern:
http://m\.(.*)
replacement:
http://www.$1/m
希望这有帮助,巴克利