O alias do Apache não está funcionando corretamente

1

Eu adicionei estas linhas no meu arquivo host virtual padrão 000:

Alias /antoniocs/project "/home/antoniocs/www/project"
<Directory "/home/antoniocs/www/project">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

/ home / antoniocs / www / project Contém um site drupal

Se eu for para:

localhost / antoniocs / project

Isso funciona bem. Eu vejo tudo perfeitamente. Mas quando eu tento clicar em um link que me leva, por exemplo, para:

localhost / antoniocs / project / category

Eu recebo este erro:

  

Não encontrado

     

O URL solicitado   /home/antoniocs/www/project/index.php   não foi encontrado neste servidor.

Isso não está processando o .htaccess que está na pasta do projeto? O que estou fazendo errado ???

NOTA: Também acho estranho que esteja me dando um caminho de arquivo e não um caminho de URL

Em execução no Apache 2.2.16 (com reescrita mod) Ubuntu 10.10 php 5.3.3-1ubuntu9.1

NOTA EXTRA: Para aqueles que não conhecem drupals htaccess, ele redireciona tudo para index.php? Q = $ 1

RewriteCond% {REQUEST_FILENAME}! -f

RewriteCond% {REQUEST_FILENAME}! -d

RewriteCond% {REQUEST_URI}! = / favicon.ico

RewriteRule ^ (. *) $ index.php? q = $ 1 [L, QSA]

    
por AntonioCS 09.11.2010 / 00:17

4 respostas

5

Eu sei que este é um post muito antigo, mas eu pensei esta informação que encontrei em outro site do StackExchange pode ser de ajuda .

Ao usar um alias em sua configuração do apache, você também precisará usar RewriteBase no seu arquivo .htaccess que é o mesmo que o alias.

Alias /antoniocs/project "/home/antoniocs/www/project"
<Directory "/home/antoniocs/www/project">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

Requer que você inclua ...

RewriteEngine On    
RewriteBase /antoniocs/project

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q= [L,QSA]

Eu realmente notei isso em um projeto porque havia uma reescrita acontecendo com imagens / js / css e todos os meus arquivos suplementares não estavam sendo carregados.

    
por Vagari 02.07.2014 / 18:40
4

Parece que uma reescrita está ocorrendo no local errado. Por exemplo, o servidor da Web está tentando encontrar o URL /home/antoniocs/www/project/index.php em vez do arquivo local pelo mesmo caminho. Talvez verifique a instalação do Drupal em si? Você pode verificar o que o servidor pensa observando as solicitações de redirecionamento usando algo como curl :

curl -I http://localhost/antoniocs/project/category

Veja se o código 301 ou 302 é retornado e isso pode ajudar a diminuir o problema. Por exemplo:

$ curl -I http://www.outflux.net/blog
HTTP/1.1 301 Moved Permanently
...
Location: http://www.outflux.net/blog/
    
por Kees Cook 09.11.2010 / 07:00
1

Como alternativa, você também pode ativar o módulo userdir do apache. Para que você não precise criar um alias para acessar os códigos que residem em seu diretório pessoal

sudo a2enmod userdir
cd ~
mkdir public_html
sudo /etc/init.d/apache2 restart

Coloque seu código sob este public_html e você pode acessá-lo pelo link ou link (por exemplo: link )

Você pode alterar o nome do diretório (public_html) editando o arquivo conf /etc/apache2/mods-enabled/userdir.conf

    
por aneeshep 09.11.2010 / 07:27
1

Veja se algo aqui pode ajudar: link , seu problema pode ter algo a ver com a instrução AllowOverride; / etc / apache2 / sites-available / default

    
por Sabacon 09.11.2010 / 07:32