在.htaccess中仅允许域根没有斜杠

时间:2014-08-07 14:23:08

标签: apache .htaccess

我的目标是在www.example.com/dir/index.php中添加一些额外文件的脚本,并允许通过www.example.com/dir访问它,但禁止其他任何内容。

尽可能接近来自www.example.com/dir/的访问权限,但是如果没有尾随斜线,它会让我感到烦恼。

这是我的.htaccess文件(在目录" dir"):

Order Deny,Allow
Deny from All

<FilesMatch '^(|index.php)$'>
    Order Allow,Deny
    Allow from All
</FilesMatch>

我可以从www.example.com/dir/和www.example.com/dir/index.php访问它。对于目录中的任何其他文件,它根据我的需要提供403,但它也为www.example.com/dir提供403 - 我该如何更改?

编辑: root中我的.htaccess只包含一行:

DirectorySlash On

1 个答案:

答案 0 :(得分:1)

删除所有现有代码,并将此代码放在/dir/.htaccess

RewriteEngine On
RewriteBase /dir/

RewriteRule ^$ index.php [L]

RewriteRule !^(index.php)?$ - [F,NC]