我使用mod_rewrite将/foo/bar/baz映射到/foo/qux
RewriteEngine on RewriteBase /foo/ RewriteRule ^bar/baz$ bar/baz/ [L,R=permanent] RewriteRule ^bar/baz/(.*) qux/$1 [L]
我想允许/foo/qux索引,所以我在/foo/qux/.htaccess有Options +Indexes 。
问题是,即使用来访问它的URL是/foo/bar/baz ,索引输出也会读取“ Index of /foo/qux ”。 理想情况下,我希望输出反映使用的URL(所以/foo/qux或/foo/bar/baz ,取决于)。 我会为输出总是说“ /foo/bar/baz索引”。 有没有办法使用mod_rewrite或简单的香草Apacheconfiguration选项来做到这一点?
这不是纯粹的Apacheconfiguration选项,但作为替代,您可以用实际文件系统上的符号链接来replace重写。 使用Linux,您可以使用:
ln -s <target> <link_name>
我不相信这是可能的,因为mod_rewrite和mod_autoindex处理请求的顺序。 mod_autoindex收到的path是,而且必须是“真正的”path。
凯尔的符号链接解决scheme是我知道的唯一的解决scheme。