将文件夹重写为子文件夹

rewrite folder to subfolder

很抱歉这个基本问题,但处理 Apache 是很久以前的事了。 子文件夹已从 /download 移动到 /images/download。 我现在喜欢用 .htaccess 重写它。

RewriteCond %{REQUEST_URI} ^/download/$
RewriteCond %{REQUEST_URI} !^/download/images$
RewriteRule (.*) /images/download/ [R=302,L]

我希望

http://example.com/download/literatur/a/online.pdf

将重写为

http://example.com/images/download/a/online.pdf

但事实并非如此。重写一般有效(mod_rewrite 已启用)。我监督什么?

您的第一个重写条件使您的规则总是失败,因为 URI 不仅仅是 /download,它实际上是 /download/<whatever-else>

您可以在站点根目录 .htaccess 中改用此规则:

RewriteEngine On

RewriteRule ^download/ /images%{REQUEST_URI} [R=302,L,NC,NE]

此规则将匹配任何以 /download/ 开头的 URI,并将此请求重定向到 /images/<URI>