rvitinn

Dagbkarfikt - slir endurbttar

Er a vinna v a breyta slunum essari su samkvmt uppskrift Ms. Er binn me megni af essu, eftir a skoa trackback og fegurri slir athugasemdir. g kva a a vri ng a hafa etta nkvmt upp mntu, lklegt a g eigi eftir a/geti psta tvisvar smu mntunni. Srstaklega ekki mean serverinn keyrir essari dollu.

Eyddi llum gmlu skrnum og skrifai python forrit til a vsa gestum fram. Apache sr um a keyra forriti hvert sinn sem 404 (skr fannst ekki) villa kemur upp. Forriti tkkar v hvort veri er a leita a skr minni dagbk, ef svo er reynir a a lesa gamla indexinn (tluhlutann r urlinu, 000659.html verur 659) flettir svo upp gagnagrunninum sem geymir dagbkina, skir dagsetninguna og br til sl til a vsa r eirri dagsetningu.

etta litla forrit virist virka gtlega! Einhver tilvik virka ekki fyrir mig, essi sl virist t.d. ekki komast gegn, a vsa hinga. Skrifti er hrna fyrir nean, ef sr hva er a mttu endilega setja inn athugasemd, etta blasir eflaust vi llum rum en mr!
08:50
etta blasti vi mr um lei og g kkti etta nna, binn a laga. Best a segja ekkert fr villunni :-P

Einnig tti g rlti vi dirify falli Util.pm til a , , yru a Y, ae og o svo category slirnar su lsilegar.

Endilega lti mig vita ef eitthva er virkar ekki sunni.

Hr er python scripti, eflaust m gera etta miklu betur - en etta dugar..nstum v.


URL = "http://www.orvitinn.com"

def get_url_from_date(d):
    # taka dagsetningarstreng  kv. formi og skila 
    #urli: URL/year/month/day/hour.min/
    year = d[0:4]
    month = d[5:7]
    day = d[8:10]
    hour = d[11:13]
    min = d[14:16]
    return "%s/%s/%s/%s/%s.%s/"%(URL, year, month, day, hour, min)

def get_id(u):
    # reyna a finna tluna  sla  forminu /bla/000111.html
    # ef ekki tala klikkar int() og exception er kasta
    # exception alltaf kasta ef urli er ekki "rtt".
    # galli - /12.html == 000012.html en a skiptir ekki mli!
    dot = u.find(".")
    slash = u.rfind("/")
    if slash == -1:
        return u[0:dot]
    return int(u[slash+1:dot])

def main():
    try:
        if os.environ.has_key("REDIRECT_URL"):
            url = os.environ["REDIRECT_URL"]
            id = get_id(url)
            SQL = "select entry_created_on from mt_entry where entry_id =%d"%id
            db = MySQLdb.Connect(db="***", user="***", passwd="***")
            c = db.cursor()
            c.execute(SQL)
            result = c.fetchall()
            d = result[0][0]
            url = get_url_from_date(d)
            print "Status: 301 Moved Permanently"
            print "Location: %s"%url
            print
            return
    except:
        pass

    # skila bara 404 fyrir allt sem klikkar - a er hvort
    #sem er a sem hefi annars gerst.
    # todo: redirecta  static 404 su, ekki prenta hana hr t.
    print "Content-type:text/html"
    print "Status: 404 Not Found"
    print
    print "<html>"
    print "<head>"
    print "<title>404 sa fannst ekki</title>"
    print "</head>"
    print "<body>"
    print "<p>v miur finnst san sem  varst a leita a ekki hr<br />"
    print r'Kktu  forsuna <a href="http://www.orvitinn.com"> og athugau hvort  finnir eitthva hugavert ar</p></a>'
    print "</body>"
    print "</html>"


if __name__ == "__main__":
    main()

movable type
Athugasemdir

Tryggvi R. Jnsson - 19/12/03 09:20 #

Einfalda leiin til a taka gmlu slirnar (archives/nnnnnn.html) yfir njar er a lta MT ba til redirect og setja a svo inn .htaccess ea httpd.conf fyrir Apache ef hefur agang a v. Hr er dmi: &gtMTEntries lastn="800"&lt redirect permanent /blog/archives/&gt$MTEntryID pad="1"$&gt.html &gt$MTBlogArchiveURL$>&gt$MTEntryDate format="%Y/%m/%d/%H.%M.%S"$&gt/ &gt/MTEntries&gt

800 er bara arna inni sem einhver tala sem tknar heildarfjlda frslna fyrir vikomandi vefdagbk.

Matti . - 19/12/03 09:43 #

g vildi losna vi a hafa sund skrr rtinni vefsvinu, annig a mr tti essi lausn skemmtileg - og hn virkar :-)

Tryggvi R. Jnsson - 19/12/03 12:59 #

a vera ekki til neinar skrr vefrtinni redirect leiinni heldur. etta lka hjlpar ,,snjllum" skrikvikindum a finna nju surnar me v a senda "moved permenantly" error ka. There's more than one way to skin a cat las g einhversstaar ;)

Matti . - 19/12/03 13:10 #

Jamm, a er rtt, arna vera ekki til skrr. En a vera aftur mti til vel rmlega sund lnur anna hvort .htaccess ea apachce config skrnni og mr finnst a salegt :-)

En vissulega eru til margar leiir.