我正在使用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
,因此我Options +Indexes
有/foo/qux/.htaccess
。
问题是,Index of /foo/qux
即使用于访问它的 URL 是 ,索引输出也会显示“ ” /foo/bar/baz
。理想情况下,我希望输出反映所使用的 URL(因此要么是/foo/qux
,要么是/foo/bar/baz
,视情况而定)。我满足于输出始终显示“索引/foo/bar/baz
”。有没有办法使用mod_rewrite
或普通的 Apache 配置选项来实现这一点?
答案1
这不是纯粹的 Apache 配置选项,但作为替代方案,你可以用实际文件系统上的符号链接替换 Rewrites。在 Linux 中,你可以使用:
ln -s <target> <link_name>
答案2
mod_rewrite
我认为这是不可能的,因为处理请求的顺序mod_autoindex
。接收的路径mod_autoindex
必须是“真实”的。
Kyle 的符号链接解决方法是我所知道的唯一解决方案。