Htaccess 只允许移动设备访问目录

问题描述

我也想允许访问角色目录及其子目录,仅适用于移动设备。

我写了这个条件但不起作用,这是我的htaccess规则:

Options +FollowSymlinks -MultiViews
##Setting rewrite base to / here.
RewriteBase /
RewriteEngine on

**RewriteCond %{HTTP_USER_AGENT} !(iphone|ipad|android) [NC]
RewriteCond %{THE_REQUEST} character [NC]
RewriteRule ^ - [F,L]**

##rewriting for page1 uri here.
RewriteRule ^page1$ page1.PHP    
##External redirect rules here.
RewriteCond %{THE_REQUEST} \s/FOF/news/page/page1\.PHP\s [NC]
RewriteRule ^ /customPage? [R=301,L]

##Internal rewrite rules here...
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^customPage/?$ FOF/news/page/page1.PHP [L,NC]

感谢帮助

解决方法

只需阻止来自移动设备以外的任何其他设备到字符文件夹/目录的 url 请求,那么它应该只允许来自提到的设备的请求到该文件夹​​。

确保将这些规则放在 htaccess 规则文件的顶部。

RewriteEngine ON
RewriteCond %{HTTP_USER_AGENT} !(iphone|ipad|android) [NC]
RewriteRule ^character - [F,L]

第二种解决方案: 以上解决方案认为您的 character 目录保留在根目录中,如果它可以是整个 uri 本身的任何子目录,然后尝试以下操作.

RewriteEngine ON
RewriteCond %{HTTP_USER_AGENT} !(iphone|ipad|android) [NC]
RewriteCond %{THE_REQUEST} character [NC]
RewriteRule ^ - [F,L]