【问题标题】:m.example.com won't redirect properlym.example.com 不会正确重定向
【发布时间】:2014-11-19 12:39:58
【问题描述】:

我正在尝试为我的移动网站制作漂亮的网址。我有一个适用于桌面的工作站点,并且会为用户提供进入移动版本的选项。

我在与 index.php 相同的目录中有一个名为 mobile.php 的 php 文件。站点的参数将相同。桌面版的参数工作正常,但是。如果我输入 m.example.com,它将转到我的桌面版本,但是如果我输入 m.example.com/something,它将转到移动版本。

    # changing www to nonwww
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

#redirect for the mobile site
RewriteCond %{HTTP_HOST} ^m.example.com
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI}  ^/([^/]+)/?([^/]*)?/?([^/]*)?/?([^/]*)?/?   [NC]
RewriteRule ^(.*)$ mobile.php?site=%1&brand=%2&model=%3&repid=%4 [L]



#redirect for dekstop.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI}  ^/([^/]+)/?([^/]*)?/?([^/]*)?/?([^/]*)?/?   [NC]
RewriteRule .*    index.php?site=%1&brand=%2&model=%3&repid=%4  [L]

此外。当我在移动站点时,我尝试链接到我的资源 src="/image.png"。在桌面上它可以正常工作,但移动站点会为文件 m.example.com/image.png 生成 url 并且找不到资源。我通过输入整个 URL 绕过,但想使用其他方式。

我希望有人可以帮助我解决这个问题;)

【问题讨论】:

    标签: php .htaccess redirect mobile


    【解决方案1】:

    看起来罪魁祸首是您的第二条规则与着陆页 URI / 不匹配,试试这个:

    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
    RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
    
    #redirect for the mobile site
    RewriteCond %{HTTP_HOST} =m.example.com
    RewriteRule ^/?$ mobile.php [L]
    
    RewriteCond %{HTTP_HOST} =m.example.com
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^/]+)/?([^/]*)?/?([^/]*)?/?([^/]*)?/? mobile.php?site=$1&brand=$2&model=$3&repid=$4 [L,QSA]
    
    #redirect for dekstop.
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^/]+)/?([^/]*)?/?([^/]*)?/?([^/]*)?/?  index.php?site=$1&brand=$2&model=$3&repid=$4 [L,QSA]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多