【问题标题】:Rewrite url issue重写网址问题
【发布时间】:2011-03-11 03:07:14
【问题描述】:

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

【问题讨论】:

    标签: .htaccess coldfusion jrun


    【解决方案1】:

    您似乎想要进行外部重定向,但您的 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,以确保如果您已经在移动网站上,它不会重定向您,如果您的两个网站都指向同一个地方(如果您可以删除它,如果他们没有;只是想在他们这样做的情况下为您省去头痛)。

    【讨论】:

    • 非常感谢蒂姆。解释清楚,非常及时
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多