很抱歉出现这个基本问题,但处理apache是很久以前的事了。一个子文件夹已从/download
移动到/images/download
。我现在喜欢在.htaccess.中重写它
RewriteCond %{REQUEST_URI} ^/download/$
RewriteCond %{REQUEST_URI} !^/download/images$
RewriteRule (.*) /images/download/$1 [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>