2010-05-25 3 views
0

Я успешно установил это в IIS в прошлом, но я не уверен, как это сделать в Apache. Я хочу, чтобы проверить, существует ли файл, будь то:Как проверить, существует ли файл в Apache

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

Если файл не существует, я хочу, чтобы перенаправить на/404 /, где у меня есть файл, который делает все 404 связанный обработки.

Наконец, делая это в IIS, он дал мне CGI.QUERY_STRING что-то вроде:

404;http://example.com/prettyurl 

Может APACHE сделать то же самое?

Это то, к чему я до сих пор пытался добиться успеха. (Я, наверное, далеко отсюда ...)

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

Спасибо ..

ответ

1

Не используйте document_root слеш ... просто сделать REQUEST_FILENAME !-f Восклицательный знак отрицает -f флаг.

+0

хмм, так что вы имели в виду: "! RewriteCond% {REQUEST_FILENAME} - е" Это не похоже на работу .. – Rick

+0

Ну я уверен, что это работает: RewriteCond% {REQUEST_FILENAME} -f! RewriteCond% {REQUEST_FILENAME}! -d RewriteRule. * $ Error.php [L] –

+0

Сладкий, это, похоже, сделало это для меня. Я думаю, что у меня все еще есть проблемы с конфигурацией с моим сервером Coldfusion, но если я переписываю его на страницу .html, он работает. спасибо Микуласу! (я бы проголосовал «thumbs up», но, видимо, у меня недостаточно очков репутации!) – Rick

Смежные вопросы