0

只是想知道这是否可能。

当我http://localhost/TEST/folder_validation/1.pdf通过浏览器调用时,validate.php 应该先运行以更新“log.txt”并将用户重定向到不同的 URL。

下面的当前解决方案将不起作用。

可能吗?如果是这样,我该怎么做?

谢谢

文件夹结构:

folder_validation/1.pdf
folder_validation/2.pdf
folder_validation/log.txt
folder_validation/validate.php
folder_validation/.htaccess
folder_validation/..............

validate.php 文件内容:(不会更新日志文件

$file = 'log.txt';
$current = file_get_contents($file);
$current .= $_GET['filename'] . "\n";
file_put_contents($file, $current);

header('Location: http://stackoverflow.com/');
exit;

.htaccess 文件的内容:(如下面的建议答案)

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

2 回答 2

2

尝试

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

而在 validate.php 中,你可以在 get 参数文件名中获取请求的文件名。

于 2013-11-14T14:27:24.670 回答
0

1-> 创建一个 .htaccess 文件(保存文件时将其写在双引号内,如“.htaccess”)。

2->

RewriteEngine On

RewriteRule (.+\.pdf)$ /folder/validate.php?file=$1
于 2013-11-14T14:36:41.890 回答