首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >regex将非www重定向至www,将子域重定向至文件

regex将非www重定向至www,将子域重定向至文件
EN

Stack Overflow用户
提问于 2012-03-20 21:59:17
回答 3查看 2.9K关注 0票数 0

我需要做以下工作..我遇到了各种各样的例子,但我需要结合三个条件

重定向1)重定向非www /非子域请求。例如:

http://xyzsite.comhttp://www.xyzsite.com

2)如果提到了子域,则重定向。例如:

http://user1.xyzsite.comhttp://www.xyzsite.com/profile?user1

3)跳转到移动端。例如:

http://m.xyzsite.comhttp://www.xyzsite.com/m

技术详细信息:我使用IISv6并使用helicontech isapi_rewrite模块

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-21 17:21:30

1.

  • Match:^xyzsite.com$
  • Redirect:www.xyzsite.com

2.

  • Match:^(?!www.)(.*).xyzsite.com$
  • Redirect:www.xyzsite.com/profile?$1

3.

  • Match:^m.(.*)$
  • Redirect:www.$1/m
票数 0
EN

Stack Overflow用户

发布于 2012-03-21 16:39:12

以下是ISAPI_Rewrite v3规则(希望这是您使用的版本):

代码语言:javascript
复制
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]
票数 0
EN

Stack Overflow用户

发布于 2012-03-20 23:38:10

我花了一些时间在这上面,希望能把你带到正确的方向。除非您明确指定了约束,否则我会想出最简单的解决方案。这意味着我在正则表达式中硬编码xyzsite.com。这实际上更突出了解决方案的本质

1)重定向非www /非子域请求。例如:http://xyzsite.com to http://www.xyzsite.com

代码语言:javascript
复制
pattern:
http://(.*?.com)

replacement:
http://www.$1

2)如果提到了子域,则重定向。例如:http://user1.xyzsite.com to http://www.xyzsite.com/profile?user1

代码语言:javascript
复制
pattern:
(http://)(.*?)\.(.*)

replacement:
$1www.$3/profile?$2

3)跳转到移动端。例如:http://m.xyzsite.com to http://www.xyzsite.com/m

代码语言:javascript
复制
pattern:
http://m\.(.*)

replacement:
http://www.$1/m

希望这能帮上忙,巴克利

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9788286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档