我在www.domain.com创建了一个桌面网站,在m.domain.com创建了一个移动网站,并使用.htaccess将智能手机访问者重定向到后者:
# Mobile redirect #
RewriteEngine on
RewriteBase /
# prevent looping
RewriteCond %{HTTP_HOST} !^m.goldenhinde.com$
# if the browser accepts these mime-types, it's definitely mobile, or pretending to be
RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC,OR]
# a bunch of user agent tests
RewriteCond %{HTTP_USER_AGENT} "sony|symbian|nokia|samsung|mobile|windows ce|epoc|opera" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "mini|nitro|j2me|midp-|cldc-|netfront|mot|up\.browser|up\.link|audiovox"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "blackberry|ericsson,|panasonic|philips|sanyo|sharp|sie-"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "portalmmm|blazer|avantgo|danger|palm|series60|palmsource|pocketpc"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "smartphone|rover|ipaq|au-mic,|alcatel|ericy|vodafone\/|wap1\.|wap2\.|iPhone|android"[NC]
RewriteCond %{HTTP_REFERER} !^http://(.*).goldenhinde.com/.*$ [NC]
# rewrite rules here
RewriteRule .? http://m.goldenhinde.com%{REQUEST_URI} [L,R=302]
但是,我遇到的问题是桌面网站上的网页网址没有文件扩展名(例如 www.website.com/contact),而移动网站上的网址则包含.php后缀(例如 m.website.com/contact.php)。
当访问者在智能手机上输入www.website.com/contact等地址时,我希望将它们重定向到m.website.com/contact.php,但目前显然没有发生这种情况。在移动版本中包含文件扩展名。
您能告诉我可以添加到.htaccess文件的代码,以便桌面页面自动重定向到他们的移动版本。
提前感谢您提供的任何帮助。
答案 0 :(得分:0)
将此规则添加到最后
RewriteCond %{HTTP_HOST} ^m.goldenhinde.com$ [NC]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ /$1.php [L,R=301]