使用mod_rewrite更改URL

时间:2012-12-08 09:19:08

标签: apache .htaccess mod-rewrite

我添加了一个移动版本,可以使用 MobileDetect.php 自动重定向。

重定向后,网址为:/index.html?mpage=home. 例如,当桌面版网址为/medical-studies时,移动设备为/index.html?mpage=medical-studies

我想使用mod_rewrite或其他mod,如果可能,移动版本将显示相同的桌面URL;

我的意思是改变

/index.html?mpage=X

/X

1 个答案:

答案 0 :(得分:1)

试试这个:

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} iPhone [OR]
RewriteCond %{HTTP_USER_AGENT} Android [OR]
RewriteCond %{HTTP_USER_AGENT} Blah...
RewriteRule ^(.*)$ index.html?mpage=$1 [L]

如果User-Agent与某些移动代理匹配,则mod_rewrite 内部会重定向对index.html的访问,并添加原始路径。 (用户代理中显示的URL 已更改。)

注意

  • RewriteCond应该用适当的条件替换。
  • 在服务器端程序中,您可能需要引用REDIRECT_QUERY_STRING而不是QUERY_STRING