Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
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":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (8)
As of 2024-04-18 07:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found