[英]Recurring RedirectMatch in htaccess
免责声明:我对mod_rewrite或regex不太满意。
我的根目录.htaccess中包含以下内容:
RedirectMatch 301 ^(.+\.pdf)$ files/$1
我要实现的是, 根文件夹中任何扩展名为.pdf
的文件都将被重定向到/files
子目录。
问题是这与站点上的任何.pdf
匹配,并且在子文件夹中时似乎会再次出现,例如
如预期的那样, mydomain.com/some.pdf
变为mydomain.com/files/some.pdf
。
然而:
当我根本不想重写此URL时, mydomain.com/sub/some.pdf
变为mydomain.com/files/files/files/files/files/files/sub/some.pdf
。 我假设它遇到了无限循环,但经过多次重定向后便自行消失了。
非常感谢您的帮助。
RedirectMatch 301 ^([^/]+\\.pdf)$ files/$1
此处的关键是使用[^/]+
而不是.+
这样您就不会将/
作为模式的一部分。 这会将您的模式隔离为仅根目录中匹配的pdf文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.