Como faço para servir um script com apache em vez de executá-lo?
-
02-07-2019 - |
Pergunta
Eu estou tentando hospedar um script python usando um servidor Web Apache, mas as tentativas servidor para executar o script em vez de apenas oferecê-lo para download.
Eu não tenho acesso direto ao servidor, e adicionando a linha
AddType text/plain .py
para .htaccess na pasta raiz não parece trabalho, embora eu pudesse estar fazendo algo errado.
Como faço para que o servidor apenas enviar o arquivo como texto em vez de tentar executá-lo?
-Edit
A alteração do nome não funciona. Script.py.safe ainda dar um erro 500 Server quando você clicar nele.
Gostaria também de mencionar que o arquivo .htaccess funciona, mas por algum motivo que uma linha AddType não está funcionando. Ou porque não é substituir algo, ou a linha está errado.
Solução
Em seu .htaccess:
RemoveHandler .py
Outras dicas
Se você não pode alterar a configuração do Apache e você não pode substituí-lo com um arquivo .htaccess, então parece-me que as soluções mais fáceis seria ou para mudar a extensão do arquivo, ou então escrever um script que imprime o conteúdo do script de destino.
Ambos são hacks, até certo ponto, mas a solução correta é mudar a configuração do Apache.
Uma opção é mudar a extensão e deixar claro que ele deve ser renomeado. python.py.safe IE ou python.py.dl. O usuário, então, necessidade de remover o bit extra.
Você também pode fechá-lo acima.
Eu ia escrever algo que carrega o python script de cima. Desta forma, você pode até mesmo chegar enérgico e incluem a formatação e estilo do código. Você poderia até mesmo escrevê-lo em python desde que você não vai ter impedido que pela extensão do arquivo.
<IfModule mime_module>
<Files *.py>
ForceType text/plain
</Files>
</IfModule>
numa .htaccess para a pasta deve trabalhar;)