我的网站mobil.test.nu有一个重定向规则。
# For mobile devices:
RewriteCond %{HTTP_USER_AGENT} (android|blackberry|iphone|ipod|windows\ phone) [NC]
RewriteRule ^ http://test.nu/ [L,R=301]
# For non-mobile devices:
RewriteRule ^/?$ http://test.nu/mobil/index.htm [L,R=301]
RewriteRule ^(.*)$ http://test.nu/mobil$1 [L,R=301]
有些请求正在重定向到test.nu.
我正在将mobil.test.nu的dns更改为test.nu.
我想我必须在test.nu中重写所有来自mobil.test.nu的请求。
有人可以告诉我如何在dns更改后识别来自mobil.test.nu的请求。
修改 的 识别主机名并进行修改。
# For mobile devices:
RewriteCond %{HTTP_HOST} ^mobile\.test\.nu$ [NC]
RewriteCond %{HTTP_USER_AGENT} (android|blackberry|iphone|ipod|windows\ phone) [NC]
RewriteRule ^ http://test.nu/ [L,R=301]
# For non-mobile devices:
RewriteCond %{HTTP_HOST} ^mobile\.test\.nu$ [NC]
RewriteRule ^/?$ http://test.nu/mobil/index.htm [L,R=301]
RewriteRule ^(.*)$ http://test.nu/mobil$1 [L,R=301]
答案 0 :(得分:1)
您需要添加检查%{HTTP_HOST}
变量的条件:
# For mobile devices:
RewriteCond %{HTTP_HOST} !^mobile\.test\.nu$ [NC]
RewriteCond %{HTTP_USER_AGENT} (android|blackberry|iphone|ipod|windows\ phone) [NC]
RewriteRule ^ http://mobile.test.nu/ [L,R=301]
# For non-mobile devices:
RewriteCond %{HTTP_HOST} ^mobile\.test\.nu$ [NC]
RewriteCond %{HTTP_USER_AGENT} !(android|blackberry|iphone|ipod|windows\ phone) [NC]
RewriteRule ^/?$ http://test.nu/mobil/index.htm [L,R=301]
RewriteCond %{HTTP_HOST} ^mobile\.test\.nu$ [NC]
RewriteCond %{HTTP_USER_AGENT} !(android|blackberry|iphone|ipod|windows\ phone) [NC]
RewriteRule ^(.*)$ http://test.nu/mobil$1 [L,R=301]
不完全清楚你的规则应该做什么,因为我认为上述规则不会起作用。但基本上是:
RewriteCond %{HTTP_HOST} ^mobile\.test\.nu$ [NC]
会告诉您该请求是否适用于mobile.test.nu
。