【发布时间】:2015-06-07 23:31:13
【问题描述】:
站点的 .htaccess 文件有这个现有的命令:
RedirectMatch 404 /directory(/|$)
需要一个例外来使一个深层子目录中的文件可访问,同时仍为目录下的所有其他文件返回 404。可访问目录的路径是:
/directory/sub/sub/sub/sub
如果我注释掉现有的 RedirectMatch,子目录中的文件可以访问,但 /directory 的所有其他内容也可以访问。我尝试保留 RedirectMatch 并将 RewriteRule 放在 .htaccess 文件的顶部:
RewriteRule ^/directory/sub/sub/sub/sub/ - [L]
我尝试用 RewriteCond 和 RewriteRule 替换 RedirectMatch:
RewriteCond %{REQUEST_URI} ^/directory/
RewriteCond %{REQUEST_URI} !^/directory/sub/sub/sub/sub/.*$
RewriteRule ^/directory/(.*)$ - [L,R=404]
到目前为止,还没有任何效果。有什么指点吗?
【问题讨论】:
标签: apache .htaccess mod-rewrite url-rewriting