仅在移动的网站上打开网站(如果从桌面打开)重定向到另一个带有.htaccess的页面

t2a7ltrp  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(142)

我有一个问题。我需要我的网站只从移动的设备进入,如果他们从一个桌面网站进入,重定向到另一个页面,我实现的是这样,

RewriteCond %{QUERY_STRING} !^android
RewriteCond %{HTTP_USER_AGENT} "Windows" [NC]
RewriteRule ^$ https://google.com [L,R=302]

它工作正常,但如果您进入另一个子目录,如mywebsite.com/cats可以从桌面进入,我如何阻止子目录,并将其重定向到另一个网站

f8rj6qna

f8rj6qna1#

你的RewriteRule只匹配空的路径,比如像https://example.com/这样的URL。但是你想匹配 any 路径,这样 all 请求就会被重定向。所以你只需要改变你的匹配模式:

RewriteCond %{QUERY_STRING} !^android [NC]
RewriteRule ^ https://example.com/ [L,R=302]

另一种方法是保留重定向目标的请求路径(取决于您实际想要实现的目标):

RewriteCond %{QUERY_STRING} !^android [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [L,R=302]

您当前使用的是R=302 * 临时 * 重定向。非常适合测试!但请记住,一旦一切正常工作,请将其更改为R=301 * 永久 * 重定向。
我还从你的规则中删除了第二个条件。不是所有的“桌面系统”都使用MS-Windows操作系统。我想,还有很多基于MacOS和Linux的系统你也想处理。

相关问题