Apache com PHP configurado como FastCGI e scripts sem sufixo

1

Eu tenho o FastCGI PHP dentro do Apache usando o mod_fcgid. Mas notei que os scripts PHP são executados mesmo sem o sufixo .php especificado.

Exemplo: se o arquivo for mail.php , então http://example.com/mail.php e http://example.com/mail retornará a mesma saída do arquivo PHP mail.php

Esse comportamento é comum? E deve ser isso (execução sem sufixo) desativado?

minha configuração do Apache é:

AddHandler fcgid-script .php
<Directory "{WwwRoot}">
    Options -Indexes MultiViews FollowSymLinks +ExecCGI
    FCGIWrapper {ConfigsRoot}/fcgi-php5 .php
    Order allow,deny
    allow from all
</Directory>

com invólucro simples

#!/bin/sh
PHP_FCGI_CHILDREN=3
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=2000
export PHP_FCGI_MAX_REQUESTS
/usr/bin/php5-cgi

Obrigado.

    
por vladimirm 31.07.2011 / 17:56

1 resposta

3

Is this common behaviour?

São suas configurações específicas.

Solução: Options -MultiViews

Manual do Apache diz (você terá que desloque-se um pouco):

The effect of MultiViews is as follows: if the server receives a request for /some/dir/foo, if /some/dir has MultiViews enabled, and /some/dir/foo does not exist, then the server reads the directory looking for files named foo.*, and effectively fakes up a type map which names all those files, assigning them the same media types and content-encodings it would have if the client had asked for one of them by name. It then chooses the best match to the client's requirements.

And should be this (execution without suffix) disabled?

até você. Por padrão, esse comportamento está desativado.

    
por 31.07.2011 / 18:03