Javascript 404 não encontrado, mas PHP e CSS estão carregando

1

Eu tenho um servidor em nuvem Ubuntu 10.04.4 LTS executando a pilha LAMP padrão.

Meu site está servindo minhas páginas PHP, as imagens e CSS para acompanhá-las, e a maioria do meu JS está carregando, mas há uma pasta específica que não está carregando os arquivos javascript.

Se eu visitar meu site, site.com/javascript/search.js , receberei um 404. Se eu visitar site.com/includes/formvalidation.js então o arquivo JS é carregado.

Isso mostra as permissões na pasta includes e javascript :

user@server~site/httpdocs$ ls -la | grep includes
drwxr-xr-x  5 user www-data    4096 Jun 14 23:53 includes

user@server~site/httpdocs$ ls -la includes | grep .js
-rwxr-xr-x  1 user www-data 20974 Mar  2 22:33 formvalidation.js

user@server~site/httpdocs$ ls -la | grep javascript
drwxr-xr-x  3 user www-data    4096 Jun  3 11:03 javascript

user@server~site/httpdocs$ ls -la javascript | grep .js
-rwxrw-r-x  1 user www-data  7276 Mar  2 22:33 calendar.js
-rwxrw-r-x  1 user www-data 33321 Jun  3 11:03 cookieControl-5.1.min.js
-rwxrw-r-x  1 user www-data 15552 Mar  2 22:33 image_display.js
-rwxrw-r-x  1 user www-data 21130 Mar  2 22:33 popcalendar.js
-rwxrw-r-x  1 user www-data 67956 Mar  2 22:33 search.js
-rwxrw-r-x  1 user www-data   555 Mar 31 00:15 sell.js
-rwxrw-r-x  1 user www-data   318 Mar 31 00:15 sign_in.js
-rwxrw-r-x  1 user www-data   142 Mar 31 00:15 update.js

Assim, o arquivo é enviado, tem as mesmas permissões que outros arquivos em includes , e as pastas includes e javascript têm o mesmo mesma permissão.

Não há arquivo .htaccess , e isso funciona bem no meu servidor de desenvolvimento, é só quando eu envio ao vivo que tenho um problema.

UPDATE : Eu fiz um arquivo, test.js e coloquei na raiz. Isso pode ser visto em site.com/test.js . Eu movi isso, 'mv test.js javascript / * e visitando site.com/javascript/test.js dá um 404

UPDATE : Verificando /var/log/apache2/error.log mostra que Arquivo não existe: /usr/share/javascript/search.js

UPDATE : Eu pesquisei javscript na minha pasta / etc / apache2 e encontrei o seguinte:

user@site:/etc/apache2$ grep -iR javascript ./       
./mods-available/deflate.conf: AddOutputFilterByType DEFLATE application/x-javascript application/javascript  application/ecmascript    
./mods-enabled/deflate.conf: AddOutputFilterByType DEFLATE application/x-javascript application/javascript application/ecmascript
./conf.d/javascript-common.conf:Alias /javascript /usr/share/javascript/
./conf.d/javascript-common.conf:<Directory "/usr/share/javascript/">
    
por Pete 08.07.2013 / 14:00

2 respostas

3

Parece que havia um alias no seu arquivo ./conf.d/javascript-common.conf: que estava causando o Apache procurar no lugar errado. Como você observou, a exclusão dessas entradas corrigiu o problema e o Apache ficou feliz.

    
por 08.07.2013 / 15:32
2

Isso funcionou para mim

sudo a2disconf javascript-common

Isso remove o javascript-common.conf de conf-available e conf-enabled .

    
por 04.05.2016 / 09:45