3

下面的 htaccess 将 PDF 调用转移到validate.php,其中 PDF 的名称与$_GET['filename']

问题是,它适用于下面的 URL,但是当有很多子目录时它不会,所以我需要的是,而不是仅仅获取文件的名称,我应该将整个 URL 传递给 validation.php 之类的东西^(.*)$ /validate.php?request_url=$1 [L]这只是一个例子)。

注意:域之后的任何内容都可以接受,而不是整个 URL。

作品:

http://www.whatever.com/1.pdf
http://www.whatever.com/2.pdf
http://www.whatever.com/3.pdf

不会工作:

http://www.whatever.com/sub1/1.pdf
http://www.whatever.com/sub1/sub2/1.pdf
http://www.whatever.com/sub1/sub2/sub3/1.pdf

我该怎么做?

谢谢

当前的 HT 访问:

RewriteEngine On
RewriteCond %{REQUEST_URI} \.(pdf)$ [NC]
RewriteRule ^(.*)$ /validate.php?filename=$1 [L]

当前验证.PHP

if (isset($_GET['filename']))
{
   //Do something with it
}
else
{
   //Don't do anything
}
4

2 回答 2

2

尝试:

RewriteEngine On
RewriteCond %{REQUEST_URI} \.(pdf)$ [NC]
RewriteRule ^ /validate.php?filename=%{REQUEST_URI} [L]
于 2013-11-15T09:49:21.193 回答
1

尝试这个:

RewriteRule ^(.*)\.pdf$ /validate.php?filename=$1 [L]

没有 RewriteCond

于 2013-11-15T09:48:11.903 回答