怎么让apache根据不同的http头转向不同的url?
比如根据http信息得到浏览器是IE,还是NetScape,然后转向不同的页面
能象程序那样获得http头的信息吗?然后根据头信息转向不同的页面吗?
aspbiz 回复于:2004-10-26 22:36:03
应该可以的,关注。
abel 回复于:2004-10-27 00:15:52
By different Agent:
[code:1:91b95901d6]
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/3.*
RewriteRule ^index\..*$ moz.html [L]
RewriteCond %{HTTP_USER_AGENT} ^Lynx/.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/[12].*
RewriteRule ^index\..*$ lyx_moz.html [L]
[/code:1:91b95901d6]
or by different Language
[code:1:91b95901d6]
RewriteCond %{HTTP:Accept-Language} gb2312 [NC]
RewriteRule .*index\.html$ www.domain.com/gb/index.php
RewriteCond %{HTTP:Accept-Language} UTF-8 [NC]
RewriteRule .*index\.html$ www.domain.com/utf-8/index.php
[/code:1:91b95901d6]
所以絕大多數的 $_SERVER ($ENV) 都可以 rewrite rule
Fun-FreeBSD 回复于:2004-10-27 11:00:36
不好意思,刚开始考虑不周全,是这样的
我们有两种手机,两种手机使用不同的的mime.types对应同一个123.mmf文件:
[code:1:e3e6a81eca]
application/vnd.smaf mmf
application/x-smaf mmf
[/code:1:e3e6a81eca]
但是只有后边的application/x-smaf mmf生效,我想根据不同的user-agent对应不同的mime.types,实现这样的功能:
[code:1:e3e6a81eca]
if {user-agent=NEC }
then
application/vnd.smaf mmf
else
application/x-smaf mmf
fi
[/code:1:e3e6a81eca]
zjzf_1 回复于:2004-10-28 09:20:06
借助php也可以实现
Fun-FreeBSD 回复于:2004-10-28 11:27:19
这是我的配置
[code:1:a7aac3a370]
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} .*NEC-N810*
RewriteRule ^/test/(.*)\.mmf /test/$1\.mmf [R,T=application/x-smaf]
[/code:1:a7aac3a370]
显示403错误,被禁止了,阿宝哥,帮帮忙,给个提示吧 :(
abel 回复于:2004-10-28 11:43:27
Rewrite Rule 根據不同的 AGENT, 導到不同的目錄或 VH 上
再該目錄或 vh 上設
AddType Application ....
來定義,這樣應該可以吧
我沒有試過,但就觀念來說應該是可行的
czj875 回复于:2004-10-28 12:35:42
俺来好好学学```
Fun-FreeBSD 回复于:2004-10-28 12:42:02
我做个了转向就可以了,不知道上边的那个为什么不行
[code:1:78664ea1b2]
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} .*NEC-N810*
RewriteRule ^/test/(.*) /test_netc/$1 [PT]
Alias /test_nec/ "/usr/local/apache/htdocs/res/test/"
<Location /test_nec>
ForceType application/x-smaf
</Location>
[/code:1:78664ea1b2]
Fun-FreeBSD 回复于:2004-10-28 12:50:21
[quote:6f06860cd0="abel"]Rewrite Rule 根據不同的 AGENT, 導到不同的目錄或 VH 上
再該目錄或 vh 上設
AddType Application ....
來定義,這樣應該可以吧
我沒有試過,但就觀念來說應該是可行的[/quote:6f06860cd0]
可是我的文件是一个地方,一个目录,一个VH,同一个文件,但是这个文件要根据两种手机类型匹配两种不同的mime.type
如果我在目录或者VH里加AddType Application .... 那两种手机都会用同一个mime.type
我想把http://x.x.x/abc根据手机类型分类,然后再定向到自己,而不是另外的目录
不知道我表达清楚没有
Fun-FreeBSD 回复于:2004-10-29 20:35:21
我又想了种方法,把文件后缀改了,不知道行不行,明天试试
[code:1:c393c40557]
AddType application/x-smaf .nec
AddType application/vnd.smaf .mmf
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} .*NEC-N810*
RewriteRule ^/(.*)\.mmf /$1\.nec [NC,T=application/x-smaf]
[/code:1:c393c40557]
wingger 回复于:2004-10-29 21:50:18
不好意思,我不太懂
是不是可以用程序实现呢?
用程序来判断是什么agent,再跳转??? :oops: :oops: :oops:
HonestQiao 回复于:2004-10-30 09:24:44
用程序很好作的啊,无非是一个环境变量可以查到的。
如果使用php,phpinfo()可以看到$_SERVER[USER_AGENT]
Fun-FreeBSD 回复于:2004-10-30 23:37:31
写程序的跟写铃声的没在一起,写完了才发现这个问题的,只好在服务器上解决了
KindGeorge 回复于:2004-11-29 08:21:23
很好的话题
bens 回复于:2005-04-22 00:47:13
我也遇到了同样的问题,也是NEC-N8手机的问题,据说可以在服务器上可以实现适配!兄弟您是否解决次问题 !十万火急!老总都急了:(他用的就是nec-n8
我改了mime.types可是S208又不可以了:(跪地求救!
xjau_yzq 回复于:2005-04-22 10:26:59
好像用虚拟主机就可以实现
zhangweibo 回复于:2005-07-14 11:43:18
自己定义一个后缀就行呀,反正铃声下载后,手机能认出他是smaf文件,照样能播放
phphp 回复于:2005-07-16 20:56:56
学习中...
_meme 回复于:2005-07-17 08:09:37
[quote:7b300d8b41="wingger"]不好意思,我不太懂
是不是可以用程序实现呢?
用程序来判断是什么agent,再跳转??? :oops: :oops: :oops:[/quote:7b300d8b41]
嗯, 用agent判断是相当标准的做法...... :em03: :em03: :em03: