我希望有人能帮我。对于我的网站,我有一个相应的移动网站,它的内容与我的完整网站相同,但在移动设备上显示。基本上,我想发送所有的请求从完整的网站到移动网站,除非url变量sms存在
因此,在我的完整站点的htaccess文件中,我有以下内容:
RewriteCond %{QUERY_STRING} !sms=1 [NC]
RewriteRule ^(.*) http://mobile.mysite.co.uk/$1 [QSA,NC]
但是当我访问www.mysite.co.uk/news/index.cfm&sms时,我得到了以下完整站点的ColdFusion错误:
File not found: /news/index.cfm
打开调试后,我注意到CGI变量PATH_TRANSLATED已从
C:\webistes\mysite\news\index.cfm
至
C:\JRun4\bin\http:\mobile.mysite.co.uk\news\index.cfm
我不知道这是怎么回事?任何帮助或见解都将不胜感激。
此外,我正在运行Apache8的多服务器安装,并使用为ColdFusion配置的ColdFusion。
发布于 2010-07-02 22:04:31
看起来你想做一个外部重定向,但是你的RewriteRule
目前只在内部重写URL。尝试将R
和L
标志添加到您的规则中,看看这是否会有所不同:
# Stop and redirect immediately to the mobile site
RewriteCond %{QUERY_STRING} !sms=1 [NC]
RewriteCond %{HTTP_HOST} !^mobile
RewriteRule ^(.*) http://mobile.mysite.co.uk/$1 [QSA,NC,R,L]
我还添加了一个RewriteCond
,以确保如果您已经在移动站点上,当您的两个站点指向相同的位置时,它不会将您重定向(如果它们不指向同一个位置,您可以将其删除;只是想在它们确实指向时为您省去麻烦)。
https://stackoverflow.com/questions/3166358
复制相似问题