2010-08-09 5 views
0

Lorsque je lier un fichier dans un répertoire, je veux ouvrir ce fichier en tant que param dans un programme PHP.Comment modifier .htaccess

Par exemple, j'ai un répertoire temp, et les fichiers aa.txt, bb.txt et test.php. Quand je lierai à aa.txt il devrait être manipulé comme test.php?f=aa.txt.

Que dois-je modifier dans le fichier .htaccess?

le code dans le test.php

<?php 
$f=$_GET['f']; 
if(@file_exists($f)){ 
    $inhoud = file_get_contents($f); 
}else{ 
    $inhoud = "Not found\n"; 
} 
print "hallo <hr>".$inhoud; 

?> 

Répondre

2

Vous voulez utiliser mod_rewrite et définir des règles comme ce qui suit dans un fichier .htaccess dans le répertoire que vous voulez appliquer à:

# 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] 
+0

j'ai testé et il montre le contenu original du fichier (a.txt) mon script met juste bonjour devant le résultat – Grumpy

+0

On dirait que votre fichier test.php ne fait pas ce que vous voulez t à faire ... –

+0

J'ai ajouté la source de test.php – Grumpy

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] 
+0

HI, ça donne une erreur – Grumpy