2010-05-25 6 views
0

Je l'ai configuré avec succès dans IIS par le passé, mais je ne suis pas sûr de savoir comment le faire dans Apache. Je veux vérifier si un fichier existe, que ce soit:Comment vérifier si le fichier existe dans Apache

/path/to/file.php 
/path/to/file.cfm 
/path/to/file.html 
/path/to/ 

Si le fichier ne pas existe, je veux rediriger vers/404 /, où j'ai un fichier qui fait tout 404 associés manipulation.

Enfin, lors de cette opération dans IIS, il m'a donné un CGI.QUERY_STRING de quelque chose comme:

404;http://example.com/prettyurl 

peut apache faire la même chose?

C'est ce que j'ai essayé jusqu'à présent, sans succès. (Je suis probablement loin ici ...)

RewriteEngine on 
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} -f 
RewriteRule (.*)$ /404/ [R,L,NC] 

Merci ..

Répondre

1

Ne pas utiliser la barre oblique document_root ..., il suffit de faire REQUEST_FILENAME !-f marque Exclamation nie le drapeau -f.

+0

hmm, vous dire: "! RewriteCond% {} de REQUEST_FILENAME - f" Cela ne semble pas fonctionner .. – Rick

+0

Eh bien, je suis sûr que cela fonctionne: RewriteCond% {} REQUEST_FILENAME -f! RewriteCond% {REQUEST_FILENAME}! -d RewriteRule. * $ Error.php [L] –

+0

Doux, cela semble l'avoir fait pour moi. Je pense que j'ai encore quelques problèmes de configuration avec mon serveur Coldfusion, mais si je réécris sur une page .html cela fonctionne. merci beaucoup Mikulas! (Je voterais "pouce en l'air", mais apparemment je n'ai pas assez de points de réputation!) – Rick

Questions connexes