Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态服务-仅限apache-html、javascript和.htaccess_Javascript_Html_Apache_.htaccess_Mobile - Fatal编程技术网

动态服务-仅限apache-html、javascript和.htaccess

动态服务-仅限apache-html、javascript和.htaccess,javascript,html,apache,.htaccess,mobile,Javascript,Html,Apache,.htaccess,Mobile,我有我的桌面站点(example.com)和移动站点(example.com/m/)。它们都有完全不同的html文件和样式表。我当前使用以下脚本将桌面站点重定向到手机: <!-- if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) { location.replace("/m/"); } --> 但我希望它在手机上显示移动站点,同

我有我的桌面站点(example.com)和移动站点(example.com/m/)。它们都有完全不同的html文件和样式表。我当前使用以下脚本将桌面站点重定向到手机:

<!--
if ((navigator.userAgent.match(/iPhone/i)) ||                 
(navigator.userAgent.match(/iPod/i))) {
location.replace("/m/");
}
-->

但我希望它在手机上显示移动站点,同时仍然显示桌面站点的URL,而不是移动站点的URL。我希望手机显示的不是(example.com/m/),而是(example.com/m/)中的内容。我听说动态服务可以做到这一点,但我不,也不想要CMS,我只使用HTML、Javascript和.htaccess,不使用PHP

有什么想法吗

我以前问过这个问题,但没有得到答案。有人能帮忙吗


谢谢。

是的。这在使用
.htaccess
文件时非常可能

下面是相同的工作代码

  Options +FollowSymlinks
  RewriteEngine on

  # iPhone or iPad devices
  RewriteCond %{HTTP_USER_AGENT} iPhone|iPod
  RewriteCond %{REQUEST_URI} !\/rootfolder\/iphone
  RewriteRule ^(.*)$ /rootfolder/iphone/$1 [NC,L]

  # Android devices
  RewriteCond %{HTTP_USER_AGENT} Android
  RewriteCond %{REQUEST_URI} !\/rootfolder\/android
  RewriteRule ^(.*)$ /rootfolder/android/$1 [NC,L]

  # Every thing fallback to desktop/common site
  RewriteCond %{REQUEST_URI} !\/rootfolder\/desktop
  RewriteRule ^(.*)$ /rootfolder/desktop/$1 [NC,L]

上述规则与您正在使用的方法非常相似。我们正在检查用户代理。如果我们发现用户代理是
ipad或ipod
,我们将从
ipad
特定文件夹提供内容。如果它是安卓,则从安卓特定文件夹退出,如果没有匹配,它将返回到桌面。

欢迎加入堆栈溢出社区。我已经提供了工作示例。如果它解决了您的问题,请通过单击答案旁边的右键接受它,让其他用户知道。如果你正在努力解决这个问题,请给我留言。谢谢你,除了一件事,这个方法非常有效。我还将Apache设置为基于特定域的主机名的302重定向。这样做之后,它们仍然可以工作,但在移动设备上,重定向不起作用,它们会给出302查找错误,并且移动的位置与当前页面相同。有什么想法吗?你可以在特定于移动设备的重写中使用该重写条件,以便在该条件下,你将该主机设置为不等于你想要302重定向的主机。谢谢。我已经让它工作了。我感谢你的帮助!