重定向所有 PDF,但不允许重定向 pdf 查看器
Redirect all PDFs, but dont allow the pdfviewer to be redirected
我有以下场景:
- 我希望所有 PDF 都重定向到
/PDF/
目录
- 但
/PDF/
中请求的所有 PDF 不应重定向
我的想法如下:
RewriteEngine On
RewriteCond %{HTTP_REFERER} "!^/PDF"
RewriteRule "(.*)\.pdf" "/PDF/?file=%{REQUEST_URI}" [R=301,L]
例如,如果我打开 http://example.com/some/path/a.pdf
。它会将我重定向到 http://example.com/PDF/?file=/some/path/a.pdf
,但它应该会加载 PDF,但那里也会发生相同的重定向。
但由于某种原因它不起作用。有人有解决办法吗?
您可以将此规则与否定前瞻一起使用:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !/PDF/
RewriteRule ^/(?!PDF/).+\.pdf$ /PDF/?file=[=10=] [L,NC,QSA,R=301]
(?!PDF/)
是否定前瞻,忽略开头已经有 /PDF/
的 URI。
我有以下场景:
- 我希望所有 PDF 都重定向到
/PDF/
目录 - 但
/PDF/
中请求的所有 PDF 不应重定向
我的想法如下:
RewriteEngine On
RewriteCond %{HTTP_REFERER} "!^/PDF"
RewriteRule "(.*)\.pdf" "/PDF/?file=%{REQUEST_URI}" [R=301,L]
例如,如果我打开 http://example.com/some/path/a.pdf
。它会将我重定向到 http://example.com/PDF/?file=/some/path/a.pdf
,但它应该会加载 PDF,但那里也会发生相同的重定向。
但由于某种原因它不起作用。有人有解决办法吗?
您可以将此规则与否定前瞻一起使用:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !/PDF/
RewriteRule ^/(?!PDF/).+\.pdf$ /PDF/?file=[=10=] [L,NC,QSA,R=301]
(?!PDF/)
是否定前瞻,忽略开头已经有 /PDF/
的 URI。