1. A computer-implemented method of indexing documents, comprising: under control of one or more computer systems configured with executable instructions, generating a set of signatures for a plurality of electronic documents by, for each electronic document of said plurality of electronic documents, selecting content of the electronic document, calculating a code for each possible substring of a number of characters of the selected content, each code representing a unique portion of the selected content, and combining at least a subset of the codes to generate a signature corresponding to the electronic document, wherein, for at least one of the electronic documents, selecting content of said at least one of the electronic documents includes normalizing content of said at least one of the electronic documents by removing at least a portion of the content of said at least one of the electronic documents; generating an index that, for at least one code of each signature of said set of signatures, associates said at least one code with a document location unique to a corresponding document of said electronic documents; and for a request for a first electronic document from the plurality of electronic documents, receiving a first location and a first signature for the first electronic document, the first signature having a first plural number of codes; determining whether said first location for the first electronic document is valid; and upon determining that said first location is invalid: identifying two or more electronic documents from the plurality of electronic documents, each of the two or more identified electronic documents having a respective plural number of codes that match at least a subset of the first plural number of codes of the first signature; and providing two or more links each specifying a respective location corresponding to a respective one of the two or more identified electronic documents, the respective location being determined according to the index and being different than the first location, the two or more links being ordered according to a percentage of matching between the respective plural number of codes of each identified document and the first plural number of codes of the first signature.