.htaccess:为某个用户代理启用目录索引

.htaccess:为某个用户代理启用目录索引,.htaccess,if-statement,user-agent,.htaccess,If Statement,User Agent,问题:我想只为某个用户代理启用服务器上某个目录的目录索引(默认情况下是禁用的) 我知道有一些指令可以在.htaccess文件中使用,但我还没有得到结果 我要寻找的是以下几点: <If user-agent = 'a certain user agent'> Options +Indexes </if> 选项+索引 我知道有一些环境变量可以根据各种条件设置(比如某个用户代理),我可以根据自己的需要进行设置,但我无法执行简单的“如果设置了变量,则设置选项+索引”

问题:我想只为某个用户代理启用服务器上某个目录的目录索引(默认情况下是禁用的)

我知道有一些指令可以在.htaccess文件中使用,但我还没有得到结果

我要寻找的是以下几点:

<If user-agent = 'a certain user agent'>
    Options +Indexes
</if>

选项+索引
我知道有一些环境变量可以根据各种条件设置(比如某个用户代理),我可以根据自己的需要进行设置,但我无法执行简单的“如果设置了变量,则设置选项+索引”语句


建议?指针?这可能吗?我没有访问Apache全局配置文件的权限。

作为一种解决方案,您可以允许对所有人进行目录索引,然后使用重写规则禁止不符合某些条件的人访问目录

例如(禁止对除googlebot之外的所有人编制目录索引):


我不知道IF语句,但你可以做一个技巧:为每个人启用目录endexing,如果有人请求一个目录,而他不是“某个用户代理”,则通过重写进行检查,然后生成一个禁止的错误否,这不行,因为该目录包含每个人都必须访问的文件,但是对于一些特殊用户,我必须启用索引来帮助他们浏览目录。我刚才说的是禁止访问目录,而不是目录中的文件。例如:domain.com/dir/=>probled,domain.com/dir/file.php=>allow等等…@Yazmat:我明白你的意思,但正如我所说的,我需要启用索引,因此,服务器将显示(对于某些用户)目录内容,而不仅仅是服务于目录中找到的特定文件-
Options +Indexes

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{HTTP_USER_AGENT} !googlebot [NC]
RewriteRule . - [F]