将文件夹重写为子文件夹
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>
很抱歉这个基本问题,但处理 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>