【问题标题】:Mobile Redirect with pretty URLs in .htaccess.htaccess 中带有漂亮 URL 的移动重定向
【发布时间】:2014-10-24 10:16:09
【问题描述】:

我正在尝试根据 .htacess 中的用户代理将我的主站点 (www.mainsite.com) 重定向到我的移动站点 (m.mainsite.com)。我使用了以下代码,它正确地重定向到 m.mainsite.com。

RewriteCond %{HTTP_USER_AGENT} (Android|AU-MIC|AUDIOVOX|ALCATEL|Blackberry|Blazer|Googlebot-mobile|Handheld|iPhone|iPod|Klondike|LG-|LGE-|Nokia|NokiaN8|Opera\ Mini|PalmOS|PalmSource|Smartphone|Symbian|WebOS|Windows\ CE|Windows\ Mobile|Windows\ Phone|nokia|UP.Link|UP.Browser)
RewriteRule (.*) http://m.mainsite.com/$1

但是,当我转到移动网站时,我似乎丢失了重写后的 URL。那么 m.mainsite.com/page1 应该是什么,类似于 m.mainsite.com/index.php?url=page1。

我尝试在移动网站上使用 .htaccess 重写 URL,但无法弄清楚如何删除 index.php 之后的部分。谁能帮我弄清楚如何从 m.mainsite.com/index.php?url=page1 中删除“index.php?url=”?

或者在重定向期间通过非移动版本中的 htaccess 解决这个问题会更容易吗?

完整代码如下:

[code]
    RewriteCond %{HTTP_HOST} ^mainsite.com
    RewriteRule (.*) http://www.mainsite.com/$1 [R=301,L]
    RewriteRule ^(.*)\_(\?.*)?$ $1$2 [R=301,L]
    RewriteRule .* - [env=REWRITE_ON:1]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !\.(js|css|png|jpg|gif)$
    RewriteRule ^(.*)$ index.php?url=$1 [L]
    RewriteCond %{HTTP_USER_AGENT} (Android|AU-MIC|AUDIOVOX|ALCATEL|Blackberry|Blazer|Googlebot-mobile|Handheld|iPhone|iPod|Klondike|LG-|LGE-|Nokia|NokiaN8|Opera\ Mini|PalmOS|PalmSource|Smartphone|Symbian|WebOS|Windows\ CE|Windows\ Mobile|Windows\ Phone|nokia|UP.Link|UP.Browser)
    RewriteRule (.*) http://m.mainsite.com/$1[code]

谢谢 加里

【问题讨论】:

    标签: php apache .htaccess mod-rewrite redirect


    【解决方案1】:

    看起来您有其他规则在干扰。您需要将所有重定向规则放在任何内部路由规则之前。 index.php?url=page1 看起来像您的路由规则。

    将移动重定向放置在您的 htaccess 文件顶部附近。

    【讨论】:

    • 这就是我尝试过的,但这似乎干扰了一些原始的 url 重写。我的代码如下所示:
    • @GaryGnus 你需要一个[L] 标志。
    • @jon_lin [L] 会去哪里?
    • @GaryGnus 到规则末尾:RewriteRule (.*) http://m.mainsite.com/$1 [L],并确保该规则是first
    猜你喜欢
    • 1970-01-01
    • 2014-09-24
    • 2018-04-06
    • 2012-05-07
    • 1970-01-01
    • 1970-01-01
    • 2016-06-23
    • 2016-01-25
    • 1970-01-01
    相关资源
    最近更新 更多