在.htaccess中使用漂亮的网址进行移动重定向

时间:2014-10-24 01:10:29

标签: php apache .htaccess mod-rewrite redirect

我正在尝试根据.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

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

我尝试在移动网站上使用.htaccess重写网址,但无法弄清楚如何在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]

由于 加里

1 个答案:

答案 0 :(得分:0)

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

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