如何在.htacces中设置规则以删除两个子目录

时间:2019-05-13 03:38:48

标签: php .htaccess

我已经设置.htaccess来重写我们系统中的某些规则,它们都工作正常。 但是,我在遵守以下规则时遇到了麻烦。有人可以帮忙吗?

我有以下网址 test.com/admin/page/files/TEMPFILES/file.pdf

如果URL包含以下两个字符串"/admin/page/" AND "TEMPFILES"

,我希望将其重定向。

我想将此重定向到以下内容 test.com/files/TEMPFILES/file.pdf

我尝试了以下

RewriteCond %{QUERY_STRING} ^TEMPFILES
RewriteCond %{REQUEST_URI} ^admin/([a-z]+)(/.*) [NC]
RewriteRule ^(/.*)?$ $2 [NC,L,QSA]

任何帮助将不胜感激。

以下URL

test.com/admin/page/files/TEMPFILES/file.pdf

应重定向到

test.com/files/TEMPFILES/file.pdf

1 个答案:

答案 0 :(得分:2)

您可以使用

RewriteEngine on

RewriteCond %{REQUEST_URI} /admin/page/files/TEMPFILES/(.+)\.pdf$
RewriteRule (.*) /files/TEMPFILES/%1.pdf [L,R=301]

这会将/admin/page/files/TEMPFILES/foobar.pdf重定向到/files/TEMPFILES/foobar.pdf