0

我正在清理我的网络空间,并且已将所有 PDF 从顶级目录移至较低级别的目录。我想重定向,以便旧 URL 仍然有效。到目前为止我所拥有的是

RedirectMatch 301 (.*)\.pdf$ http://example.com/uploads/papers/$1.pdf

问题是这也会将 http://example.com/uploads/papers/paper.pdf 之类的东西重定向http://example.com/uploads/papers//uploads/papers/paper.pdf等等,结果在无限重定向中。

我尝试从匹配项或“上传”一词中排除正斜杠,但没有成功。

4

1 回答 1

1

如果 PDF 以前/仅位于根目录

RedirectMatch 301 ^/([^/]+)\.pdf$ http://mysite.com/uploads/papers/$1.pdf

或者,/uploads例如在里面;但一些单一的目录

RedirectMatch 301 ^/uploads/([^/]+)\.pdf$ http://mysite.com/uploads/papers/$1.pdf

如果 PDF 可以位于任何地方,那么您需要将条件规则设置为

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_URI} !^/uploads/papers/ [NC]
RewriteRule (.*)\.pdf$ /uploads/papers/$1.pdf [NC,L]

上面的条件规则假设您.htaccess位于 web 根/目录。

于 2013-09-08T04:23:16.587 回答