php - Faça XAMPP / Apache servir arquivo fora do htdocs - CoreDump.pt
Faça XAMPP / Apache servir arquivo fora do htdocs
É possível configurar xampp para servir um arquivo fora do htdocsdiretório?
Por exemplo, digamos que eu tenho um arquivo localizado da seguinte forma:
e meus xampp arquivos normalmente são servidas a partir de:
(porque essa é a configuração padrão) Existe alguma maneira de fazer Apache reconhecer e servir o meu TransitCalculator.phparquivo sem movê-lo sob htdocs? De preferência, eu gostaria Apache para servir / ter acesso a todo o conteúdo do diretório de projetos, e eu não quero mover o diretório de projetos sob htdocs.
edit: editado para adicionar o Apache para o título da pergunta para fazer Q / A mais pesquisável
Publicado 04/08/2008 em 17:54 2008-08-04 17:54
Ok, por pix0r 's, faíscas ' e Dave respostas 's parece que existem três maneiras de fazer isso:
Abra C: \ xampp \ apache \ conf \ extras \ httpd-vhosts.conf.
Un-comentário linha 19 ( NameVirtualHost *:80).
Adicione seu anfitrião virtual (~ linha 36):
Abra o seu arquivo hosts (C: \ Windows \ System32 \ drivers \ etc \ hosts).
até o fim do arquivo (antes do Spybot - Search & Destroy coisas se você tem que instalado).
Salvar (Você pode ter que salvá-lo para o ambiente de trabalho, alterar as permissões sobre o arquivo hosts de idade (clique direito> Propriedades) e copie o novo para o diretório sobre o antigo (ou renomear o antigo) se você estiver usando Vista e têm dificuldade).
Agora você pode acessar esse diretório, navegando até http: //transitcalculator.localhost/ .
Faça um Alias
Começando ~ linha 200 do seu http.confarquivo, copiar tudo entre <Directory "C:/xampp/htdocs">e </Directory>(~ linha 232) e colá-lo imediatamente abaixo com C:/xampp/htdocssubstituído com seu diretório desejado (neste caso C:/Projects) para dar o seu servidor as permissões corretas para o novo diretório.
Encontrar a <IfModule alias_module></IfModule>seção (~ linha 300) e adicionar
(ou o que é relevante para os seus desejos) abaixo do Aliasbloco de comentário, dentro das tags do módulo.
Mudar a sua raiz de documentos
Editar ~ linha 176 em C: \ xampp \ Apache \ conf \ httpd.conf; mudar DocumentRoot "C:/xampp/htdocs"para #DocumentRoot "C:/Projects"(ou o que quiser).
Linha de edição ~ 203 para corresponder ao seu novo local (neste caso C:/Projects).
Você tem que usar a barra "/" em vez de barras invertidas "\".
Não incluem a fuga "/" no final.
Você pode colocá-la editando o DocumentRoot configuração no XAMPP \ apache \ conf \ httpd.conf.
Deve ser atualmente:
Alterá-lo para:
C: / projetos / transitCalculator / trunk
Respondeu 04/08/2008 em 18:00 2008-08-04 18:00 share
A VirtualHost também trabalhar para isso e pode funcionar melhor para você como você pode hospedar vários projetos sem a necessidade de subdiretórios. Veja como fazer isso:
httpd.conf (. ou adicional \ httpd-vhosts.conf relação ao httpd.conf Trailing barras "\" pode fazer com que ele não funcione):
arquivo HOSTS (C: \ Windows \ system32 \ drivers \ etc \ hosts geralmente):
Agora reinicie o XAMPP e você deve ser capaz de acessar http: //transitcalculator.localhost/ e irá mapear diretamente para o diretório.
Isso pode ser útil se você está tentando replicar um ambiente de produção, onde você está desenvolvendo um site que vai sentar-se na raiz de um nome de domínio. Você pode, por exemplo, aponte para arquivos com caminhos absolutos que irão transitar para o servidor:
enquanto que em um ambiente usando pseudônimos ou subdiretórios, você precisa manter o controle de exatamente onde o "imagens" diretório foi relativo ao arquivo atual.
Respondeu 05/08/2008 em 16:30 2008-08-05 16:30 share
Você pode configurar o Apache para servir páginas de qualquer lugar com quaisquer restrições, mas é normalmente distribuído de forma mais segura.
Editar seus arquivos apache (http.conf é um dos nomes mais comuns), vai permitir-lhe definir qualquer pasta para que ele aparece no seu webroot.
apelido myapp c: \ myapp \
Eu editei a minha resposta para incluir o formato para criar um alias no arquivo http.conf que é como uma espécie de atalho no Windows ou um link simbólico sob un * x, onde Apache 'finge' a pasta está no webroot. Este é provavelmente vai ser mais útil para você, a longo prazo.
Como uma nota lateral, se você está tentando obter XAMPP usar uma unidade de rede como a sua raiz de documentos que você tem que usar caminhos UNC em httpd.conf. XAMPP não reconhecerá suas unidades de rede mapeadas.
Por exemplo, o seguinte não irá funcionar, DocumentRoot "X: / webroot"
Mas essa vontade, DocumentRoot "//192.168.10.100/webroot" (observe as barras, e não barras invertidas)
Respondeu 28/01/2011 em 04:04 2011-01-28 04:04 share
Nenhuma dessas soluções trabalhou facilmente. Aqui está a solução mais simples para permitir Apache 2 para hospedar sites fora do htdocs:
Debaixo da directiva "DocumentRoot" em httpd.conf, você deve ver um bloco de diretório. Substituir este bloco de diretório com: