【问题标题】:.htaccess mobile redirect excludes site files.htaccess 移动重定向不包括站点文件
【发布时间】:2014-01-30 01:41:18
【问题描述】:

我们已设置并正在重定向到我们的移动网站/页面,该网站/页面位于同一域中。我们遇到的问题是,指向 /mobile 目录之外的所有图像和链接似乎都已损坏,并且只会将人们重定向回移动目录。

我们如何从 /mobile 之外的目录中提供图像/内容,并且仍然有 html/php 内容请求通过我们的移动站点返回?

RewriteEngine On
RewriteBase /
#RewriteCond %{HTTP_USER_AGENT}     (mobile|blackberry|webos|android|j2me|palm|nokia|samsung|symbian|windows.ce) [NC]
#RewriteCond %{REQUEST_URI} !^
#RewriteRule ^(.*)$ ^mobile [R=302,L]

【问题讨论】:

    标签: .htaccess redirect mobile


    【解决方案1】:

    在您的 DOCUMENT_ROOT/.htaccess 文件中尝试此代码:

    RewriteEngine On
    RewriteBase /
    
    # redirect everything other than css, js, images to /mobile/
    RewriteCond %{HTTP_USER_AGENT} (mobile|blackberry|webos|android|j2me|palm|nokia|samsung|symbian|windows.ce) [NC]
    RewriteCond %{REQUEST_URI} !^/mobile/ [NC]
    RewriteCond %{REQUEST_URI} \.(?:jpe?g|gif|bmp|png|tiff|css|js)$ [NC]
    RewriteRule ^(.*)$ /mobile/$1 [R=302,L]
    
    # redirect /mobile/stories to /stories
    RewriteRule ^mobile/(stories/*)$ /$1 [NC,R=302,L]
    

    【讨论】:

    • 我知道这不在原始请求中,但是如果我们偶然希望允许用户通过移动设备访问常规站点上的 html/php 页面,我们怎么能做到这一点?就像我们想重定向它们一样,但前提是它们必须转到 / /stories 等主页面。我们制作了移动版本的页面。
    • 根据上述规则,它将重定向来自移动设备的 php/html 请求将被重定向到 /mobile/ 是否要针对特定​​请求跳过此规则。
    • 如果我们可以重定向除图像和特定页面之外的所有内容,那就太好了。
    • 当我使用您提供的代码时,我没有得到任何重定向。我想知道我的原始代码是否有问题?
    • 您需要将您的原始代码替换为我的代码。如果这不起作用,请在您的问题中发布您的完整 htaccess。
    猜你喜欢
    • 1970-01-01
    • 2017-09-21
    • 1970-01-01
    • 1970-01-01
    • 2018-12-11
    • 1970-01-01
    • 2014-02-23
    • 2017-01-28
    • 1970-01-01
    相关资源
    最近更新 更多