重写网址问题

时间:2010-07-02 14:00:06

标签: .htaccess coldfusion jrun

我希望有人可以帮助我。对于我的网站,我有一个相应的移动网站,其内容与我的完整网站相同,但显示在移动设备上。基本上我想将完整站点的所有请求发送到移动站点,除非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

我不知道发生了什么事?任何帮助或见解将不胜感激。

此外,我正在运行ColdFusion 8的多服务器安装,并使用为ColdFusion配置的Apache。

1 个答案:

答案 0 :(得分:4)

您似乎想要进行外部重定向,但您的RewriteRule目前只在内部重写URL。尝试在您的规则中添加RL标记,看看是否会产生影响:

# 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,以确保如果您已经在移动网站上,如果您的两个网站都指向同一个地方,则它不会重定向您(您可以删除如果他们不这样做;只是想在他们这样做的情况下为你节省头痛。