php - .htacess 重写 URL 以将某些请求重定向到 subdmian
问题描述
当请求是从 Ios 浏览器发出时,我想重定向到网站的移动版本,并且能够使用以下规则成功地做到这一点
RewriteCond %{HTTP_USER_AGENT} iPhone|iPod
RewriteCond %{THE_REQUEST} !(reset) [NC]
RewriteRule ^$ https://m.mydoamin1.com [L,R=302]
但我不想在这里硬编码我的域名,因为我的网站可以从 2 个域访问
例如
- mydomain1.com shud 重定向到 m.mydomain1.com
- mydomain2.com shud 重定向到 m.mydomain2.com
我正在尝试使用一条规则来归档它——但这不起作用
RewriteCond %{HTTP_USER_AGENT} iPhone|iPod
RewriteCond %{THE_REQUEST} !(reset) [NC]
RewriteRule ^$ https://m.{REQUEST_URI} [L,R=302]
解决方案
这条规则应该适合你:
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.com
或www.mydomain1.com
但将始终mydomain1.com
在捕获组 #1 中抓取,该组在RewriteRule
as中使用%1
。
推荐阅读
- websocket - 在 socket.io 错误中传输升级到 websocket
- python - 如何使用 Python 循环抓取不同的页面
- javascript - Getting "undefined" error when using DOM in Javascript
- javascript - Using embedded javascript to style HTML element displays error in VS Code
- shell - Delete command not working in shell script
- html - How to display a different logo image when menu is open and class is set to active
- swift - Including SwiftUI-Framework in your application build
- c# - Modifying existing App Query. Xamarin UI test
- amazon-web-services - Will AWS charge me for the wait time on a step function?
- javascript - Change HTML size and remove extra pages In jsPDF