I am trying to set up an apt repository.This repository is actually replacing one that already exists and is functioning fine. I can't manage to install a package from this repo.In my /etc/apt/sources.list, I have the line:deb http://mirror.cs50.net/appliance50/2014/debs/dists/trusty/main/binary-i386 /An apt-get update goes through perfectly fine.But then something like apt-get install appliance50 (a package in that repo) gives me:Err http://mirror.cs50.net/appliance50/2014/debs/dists/trusty/main/binary-i386/  appliance50 2014-0  404  Not FoundE: Failed to fetch http://mirror.cs50.net/appliance50/2014/debs/dists/trusty/main/binary-i386/./appliance50_2014-0_i386.deb  404  Not FoundE: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?But then copying that URL into a browser downloads the file just fine! Is there some fundamental step that I'm missing? Does it have to do something with the fact that this server is redirecting the request to S3?Edit:Here's the output of sudo apt-get -o Debug::Acquire::Http=true install appliance50, per the comment:root@ubuntu:~# sudo apt-get -o Debug::Acquire::Http=true install appliance50Reading package lists... DoneBuilding dependency treeReading state information... DoneThe following packages were automatically installed and are no longer required:  apt-clone archdetect-deb cifs-utils dmraid dpkg-repack  gir1.2-appindicator3-0.1 gir1.2-json-1.0 gir1.2-timezonemap-1.0  gir1.2-xkl-1.0 kpartx kpartx-boot libdebian-installer4  libdevmapper-event1.02.1 libdmraid1.0.0.rc16 libldb1 libntdb1 libtalloc2  libtevent0 libtimezonemap1 libwbclient0 localechooser-data lvm2 lzma  python-crypto python-ldb python-ntdb python-samba python-talloc python-tdb  python3-icu python3-pam rdate samba-common samba-common-bin samba-libs  watershedUse 'apt-get autoremove' to remove them.The following packages will be upgraded:  appliance501 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.Need to get 1,205 kB of archives.After this operation, 4,096 B of additional disk space will be used.0% [Working]GET /appliance50/2014/debs/dists/trusty/main/binary-i386/./appliance50_2014-0_i386.deb HTTP/1.1Host: mirror.cs50.netUser-Agent: Debian APT-HTTP/1.3 (1.0.1ubuntu2)HTTP/1.1 404 Not FoundCache-control: no-cache=set-cookieContent-Type: text/html; charset=UTF-8Date: Mon, 04 Aug 2014 14:23:53 GMTServer: ApacheSet-Cookie: AWSELB=27CBB9F102866AACDE415904FB505399868B9DB4E22AC5183099E4BEEC583EF1DFA3B6E45DCB1D708481F98DC786A644C763A900F7898475BA865AD219D4E4F1F157545837;PATH=/;MAX-AGE=3600Content-Length: 0Connection: keep-aliveErr http://mirror.cs50.net/appliance50/2014/debs/dists/trusty/main/binary-i386/  appliance50 2014-0  404  Not FoundE: Failed to fetch http://mirror.cs50.net/appliance50/2014/debs/dists/trusty/main/binary-i386/./appliance50_2014-0_i386.deb  404  Not FoundE: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
apt-get install gives 404 not found, but URL works
apt
It's a bug on apt-get, that is not sending the correct GET headers, so the server answers with 404.For example, telnet to the server mirror.cs50.net at port 80 (HTTP), and enter the following (emulating an apt-get request):GET /appliance50/2014/debs/dists/trusty/main/binary-i386/./appliance50_2014-0_i386.deb HTTP/1.1User-Agent: Debian APT-HTTP/1.3 (1.0.1ubuntu2)Host: mirror.cs50.netAccept: */*Then you will see the following:telnet mirror.cs50.net 80Trying 54.84.6.206...Connected to mirror.cs50.net.Escape character is '^]'.GET /appliance50/2014/debs/dists/trusty/main/binary-i386/./appliance50_2014-0_i386.deb HTTP/1.1User-Agent: Debian APT-HTTP/1.3 (1.0.1ubuntu2)Host: mirror.cs50.netAccept: */*HTTP/1.1 404 Not FoundCache-control: no-cache=set-cookieContent-Type: text/html; charset=UTF-8Date: Mon, 04 Aug 2014 18:31:01 GMTServer: ApacheSet-Cookie: AWSELB=27CBB9F102866AACDE415904FB505399868B9DB4E22AC5183099E4BEEC583EF1DFA3B6E45DFCB95EFBFF7B8F8F555126DCFFF8A461898475BA865AD219D4E4F1F157545837;PATH=/;MAX-AGE=3600Content-Length: 0Connection: keep-aliveIf we leave out the dot (/./) in the GET request, then the request responds with a redirect, i.e. 302, which is correct.GET /appliance50/2014/debs/dists/trusty/main/binary-i386/appliance50_2014-0_i386.deb HTTP/1.1Host: mirror.cs50.netUser-Agent: Debian APT-HTTP/1.3 (1.0.1ubuntu2)HTTP/1.1 302 FoundCache-control: no-cache=set-cookieContent-Type: text/html; charset=UTF-8Date: Mon, 04 Aug 2014 19:03:27 GMTLocation: http://dkui3cmikz357.cloudfront.net/appliance50/2014/debs/dists/trusty/main/binary-i386/appliance50_2014-0_i386.debServer: ApacheSet-Cookie: AWSELB=27CBB9F102866AACDE415904FB505399868B9DB4E22AC5183099E4BEEC583EF1DFA3B6E45DFCB95EFBFF7B8F8F555126DCFFF8A461898475BA865AD219D4E4F1F157545837;PATH=/;MAX-AGE=3600Content-Length: 0Connection: keep-aliveI've checkd this out with other mirrors and they report the same:Trying 64.50.233.100...Connected to ftp-nyc.osuosl.org.Escape character is '^]'.GET /debian/pool/main/e/./efivar_0.10-5_i386.deb HTTP/1.1         Host: ftp-nyc.osuosl.orgUser-Agent: Debian APT-HTTP/1.3 (1.0.6)HTTP/1.1 404 Not FoundDate: Mon, 04 Aug 2014 18:47:03 GMTServer: ApacheContent-Length: 307Content-Type: text/html; charset=iso-8859-1<!DOCTYPE HTML PUBLIC -//IETF//DTD HTML 2.0//EN><html><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL /debian/pool/main/e/efivar_0.10-5_i386.deb was not found on this server.</p><hr><address>Apache Server at ftp-nyc.osuosl.org Port 80</address></body></html>Connection closed by foreign host.You should include in your bug report that apt-get should strip the get headers of the dot-n-slash.