当我链接到目录中的文件时,我想在php程序中将该文件作为参数打开。
例如,我有一个目录temp
,以及aa.txt
,bb.txt
和test.php
个文件。当我链接到aa.txt
时,应该像test.php?f=aa.txt
一样处理。
我在.htaccess文件中有什么变化?
test.php中的代码
<?php
$f=$_GET['f'];
if(@file_exists($f)){
$inhoud = file_get_contents($f);
}else{
$inhoud = "Not found\n";
}
print "hallo <hr>".$inhoud;
?>
答案 0 :(得分:2)
您想要使用mod_rewrite,并在您希望它应用于的目录中的.htaccess文件中定义如下所示的规则:
# Enable mod_rewrite
RewriteEngine on
# If the request is an actual file and not test.php...
RewriteCond %{REQUEST_FILENAME} !test.php$
RewriteCond %{REQUEST_FILENAME} -f
# ... then rewrite the URL to pass the filename as a parameter to test.php
RewriteRule /(.*)$ test.php?f=$1 [QSA]
答案 1 :(得分:0)
RewriteEngine On
RewriteCond %{REQUEST_URI} !test.php #Do not rewrite the test.php file
RewriteCond %{REQUEST_URI} -f #Requested filename exists
RewriteRule (.*) test.php?f=$1 [QSA,L]