我想使用基于 UserAgent 的 apache 将用户重定向到我的网站的移动版本
但是,如果用户选择通过单击 ?ver=full URL 参数的 URL 来查看网站的完整版本,我想停止重定向他们。我该如何实现这一点?
这些页面都是 .html,所以我无法使用 php 或类似的语言。
答案1
我将冒险假设您根据他们的用户代理字符串使用 mod_rewrite 重定向他们。
如果是这种情况,则将类似这样的内容添加到条件列表中:
RewriteCond %{QUERY_STRING} !ver=full [NC]
但是,请记住,他们需要在发送的每个请求中保留此参数,包括他们遵循的所有其他链接(可能取决于您当前的配置)对图像和 CSS 等静态内容的请求。您可能需要考虑设置 cookie 而不是使用 URL 参数(或基于任一触发器,并在看到参数时设置 cookie)。我们也可以通过一些更复杂的 mod_rewrite 东西来做 cookie - 如果您愿意,我可以协助进行该配置。
提供您当前的配置,我们可以讨论具体细节。
答案2
你应该调查一下 Apache 的mod_rewrite
示例 4 有一个基于用户代理的重定向规则。您需要添加一个条件,即仅当 URL 不包含“?ver=full”时才运行此规则