I use this .htaccess file to rewrite every .html request to counter.py
# ==================================================================== +================================ ============= RewriteEngine On RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^/?(.+\.html) /cgi-bin/counter.py?htmlpage=$1 [L,PT,QSA] # ==================================================================== +================================ =============
counter.py script is created for creating, storing, increasing, displaying a counter for each webpage for every website i have.
It's supposed to identify each webpage by a and then do it's database stuff from there
# ==================================================================== +================================ ============= # open current html template and get the page ID number # ==================================================================== +================================ ============= f = open( '/home/nikos/public_html/' + page ) # read first line of the file firstline = f.readline() # find the ID of the file and store it pin = re.match( r'<!-- (\d+) -->', firstline ).group(1) # ==================================================================== +================================ =============
It works as expected and you can see it works normally by viewing: http//superhost.gr (bottom down its the counter)
What is the problem you ask?!
Problem is that i have to insert at the very first line of every .html template of mine, a unique string containing a number like:

index.html somefile.html other.html nikos.html cool.html to HELP counter.py identify each webpage at a unique way.

Well.... its about 1000 .html files inside my DocumentRoot and i cannot edit ALL of them of course! Some of them created by Notepad++, some with the use of Dreamweaver and some others with Joomla CMS Even if i could embed a number to every html page, it would have been a very tedious task, and what if a change was in order? Edit them ALL back again? Of course not.

My question is HOW am i suppose to identify each and every html webpage i have, without the need of editing and embedding a string containing a number for them. In other words by not altering their contents. ============================================== BEFORE you answer me consider the following specification please: An .html page must retain its database counter value even if its: (renamed && moved && contents altered) ============================================== original attributes of the file:

filename: index.html
filepath: /home/nikos/public_html/
contents: <html> Hello </html>

get modified to:

filename: index2.html
filepath: /home/nikos/public_html/folder/subfolder/
contents: <html> Hello, people </html>

The file is still the same, even though its attributes got modified. We want counter.py script to still be able to "identify" the .html page, hence its counter value, in order to allow it to increase properly.

Thank you ALL in advance for your help.

p.s. The above i'am trying to implement with Python, so sorry for not being a Perl question, BUT, i need your ideas on which method solves this specific problem. Later on, it this will be a coding issue, for now its just a specification issue. Thank you all in advance.

In reply to Uniquely identifying each & every html template by Nik

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.