首页 > 解决方案 > .htacess 重写 URL 以将某些请求重定向到 subdmian

问题描述

当请求是从 Ios 浏览器发出时,我想重定向到网站的移动版本,并且能够使用以下规则成功地做到这一点

   RewriteCond %{HTTP_USER_AGENT} iPhone|iPod
   RewriteCond %{THE_REQUEST} !(reset) [NC]
   RewriteRule ^$ https://m.mydoamin1.com [L,R=302]

但我不想在这里硬编码我的域名,因为我的网站可以从 2 个域访问

例如

我正在尝试使用一条规则来归档它——但这不起作用

 RewriteCond %{HTTP_USER_AGENT} iPhone|iPod
 RewriteCond %{THE_REQUEST} !(reset) [NC]
 RewriteRule ^$ https://m.{REQUEST_URI} [L,R=302]

标签: phpapache.htaccess

解决方案


这条规则应该适合你:

RewriteCond %{HTTP_USER_AGENT} iPhone|iPod [NC]
RewriteCond %{THE_REQUEST} !reset [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^/?$ https://m.%1 [L,R=301]

条件RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]将匹配mydomain1.comwww.mydomain1.com但将始终mydomain1.com在捕获组 #1 中抓取,该组在RewriteRuleas中使用%1


推荐阅读