使用htaccess传递URL

时间:2013-11-15 09:15:24

标签: php .htaccess

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

问题是,它适用于下面的URL,但是当有很多子目录时它不会,所以我需要的是,而不是只获取文件的名称,我应该将整个URL传递给validation.php,如{{ 1}}(这只是一个例子)。

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

WORKS:

^(.*)$ /validate.php?request_url=$1 [L]

无效:

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

我该怎么做?

由于

当前的HTACCESS:

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

CURRENT VALIDATION.PHP

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

2 个答案:

答案 0 :(得分:2)

尝试:

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

答案 1 :(得分:1)

试试这个:

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

没有RewriteCond