<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6456015515432213856</id><updated>2011-11-27T15:37:00.901-08:00</updated><category term='templating'/><category term='Oscommerce'/><category term='versin 3.0 alpha 5'/><category term='Wordpress'/><category term='Security'/><category term='bugs'/><title type='text'>hypermedialabs</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://hypermedialabs.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6456015515432213856/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://hypermedialabs.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>joesoef</name><uri>http://www.blogger.com/profile/15964732723778509737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6456015515432213856.post-8526055276497842361</id><published>2009-09-21T05:27:00.000-07:00</published><updated>2009-09-21T05:43:18.788-07:00</updated><title type='text'>Rewrite Rule Rewrite Cond</title><content type='html'>I have to put aside my experiment with OsCommerce for a while. I need to learn more about url rewriting, because there is a need in my project.&lt;br /&gt;&lt;br /&gt;So this is the content of .htaccess file:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;RewriteBase /&lt;br /&gt;DirectoryIndex home.php&lt;br /&gt;RewriteEngine On&lt;br /&gt;&lt;br /&gt;ErrorDocument 404 /home.php&lt;br /&gt;&lt;br /&gt;# &gt;&gt; DOES NOT HAVE QUERY STRING?&lt;br /&gt;RewriteCond %{QUERY_STRING) ""&lt;br /&gt;&lt;br /&gt;RewriteRule ^(.+)=(.+) $1/$2&lt;br /&gt;RewriteRule ^search/(.+)/(.+)/$ search.php?$1=$2&lt;br /&gt;&lt;br /&gt;# &gt;&gt; capture both having trailing / and not&lt;br /&gt;RewriteRule ^search/(.+)/(.+)$ search.php?$1=$2 [L]&lt;br /&gt;RewriteRule ^search/(.?)$ search.php [L]&lt;br /&gt;&lt;br /&gt;# &gt;&gt; HAS QUERY STRING? and it is right behind / !!!&lt;br /&gt;RewriteCond %{THE_REQUEST} \s(.+)/\?(.+)\s&lt;br /&gt;RewriteRule ^(.*)/?$ %1/%2?&lt;br /&gt;RewriteRule ^(.+)=(.+) $1/$2 [R]&lt;br /&gt;&lt;br /&gt;# &gt;&gt; HAS QUERY STRING?&lt;br /&gt;RewriteCond %{QUERY_STRING) ^(.+)/$&lt;br /&gt;RewriteRule ^search(.+)=(.+) search/$1/$2 [L]&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;http://mesin-uang.local/search/&lt;br /&gt;will make a flow like this:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23ca1f8/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] add path info postfix: D:/xampp/htdocs/mesin-uang/search -&gt; D:/xampp/htdocs/mesin-uang/search/&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23ca1f8/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search/ -&gt; search/&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23ca1f8/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^(.+)=(.+)' to uri 'search/'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23ca1f8/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] add path info postfix: D:/xampp/htdocs/mesin-uang/search -&gt; D:/xampp/htdocs/mesin-uang/search/&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23ca1f8/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search/ -&gt; search/&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23ca1f8/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^search/(.+)/(.+)/$' to uri 'search/'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23ca1f8/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] add path info postfix: D:/xampp/htdocs/mesin-uang/search -&gt; D:/xampp/htdocs/mesin-uang/search/&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23ca1f8/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search/ -&gt; search/&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23ca1f8/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^search/(.+)/(.+)$' to uri 'search/'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23ca1f8/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] add path info postfix: D:/xampp/htdocs/mesin-uang/search -&gt; D:/xampp/htdocs/mesin-uang/search/&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23ca1f8/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search/ -&gt; search/&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23ca1f8/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^search/(.?)$' to uri 'search/'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23ca1f8/initial] (2) [perdir D:/xampp/htdocs/mesin-uang/] rewrite 'search/' -&gt; 'search.php'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23ca1f8/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] add per-dir prefix: search.php -&gt; D:/xampp/htdocs/mesin-uang/search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23ca1f8/initial] (2) [perdir D:/xampp/htdocs/mesin-uang/] trying to replace prefix D:/xampp/htdocs/mesin-uang/ with /&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23ca1f8/initial] (5) strip matching prefix: D:/xampp/htdocs/mesin-uang/search.php -&gt; search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23ca1f8/initial] (4) add subst prefix: search.php -&gt; /search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23ca1f8/initial] (1) [perdir D:/xampp/htdocs/mesin-uang/] internal redirect with /search.php [INTERNAL REDIRECT]&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23c88e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search.php -&gt; search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23c88e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^(.+)=(.+)' to uri 'search.php'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23c88e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search.php -&gt; search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23c88e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^search/(.+)/(.+)/$' to uri 'search.php'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23c88e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search.php -&gt; search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23c88e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^search/(.+)/(.+)$' to uri 'search.php'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23c88e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search.php -&gt; search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23c88e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^search/(.?)$' to uri 'search.php'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23c88e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search.php -&gt; search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23c88e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^(.*)/?$' to uri 'search.php'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23c88e8/initial/redir#1] (4) [perdir D:/xampp/htdocs/mesin-uang/] RewriteCond: input='GET /search/ HTTP/1.1' pattern='\s(.+)/\?(.+)\s' =&gt; not-matched&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23c88e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search.php -&gt; search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23c88e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^(.+)=(.+)' to uri 'search.php'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23c88e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search.php -&gt; search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23c88e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^search(.+)=(.+)' to uri 'search.php'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:37:12 +0700] [mesin-uang.local/sid#11932d8][rid#23c88e8/initial/redir#1] (1) [perdir D:/xampp/htdocs/mesin-uang/] pass through D:/xampp/htdocs/mesin-uang/search.php&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;and&lt;br /&gt;http://mesin-uang.local/search/?key1=value1&lt;br /&gt;will be translated into&lt;br /&gt;http://mesin-uang.local/search/key1/value1&lt;br /&gt;and the flow is like this:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677f138/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] add path info postfix: D:/xampp/htdocs/mesin-uang/search -&gt; D:/xampp/htdocs/mesin-uang/search/&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677f138/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search/ -&gt; search/&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677f138/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^(.+)=(.+)' to uri 'search/'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677f138/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] add path info postfix: D:/xampp/htdocs/mesin-uang/search -&gt; D:/xampp/htdocs/mesin-uang/search/&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677f138/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search/ -&gt; search/&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677f138/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^search/(.+)/(.+)/$' to uri 'search/'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677f138/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] add path info postfix: D:/xampp/htdocs/mesin-uang/search -&gt; D:/xampp/htdocs/mesin-uang/search/&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677f138/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search/ -&gt; search/&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677f138/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^search/(.+)/(.+)$' to uri 'search/'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677f138/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] add path info postfix: D:/xampp/htdocs/mesin-uang/search -&gt; D:/xampp/htdocs/mesin-uang/search/&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677f138/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search/ -&gt; search/&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677f138/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^search/(.?)$' to uri 'search/'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677f138/initial] (2) [perdir D:/xampp/htdocs/mesin-uang/] rewrite 'search/' -&gt; 'search.php'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677f138/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] add per-dir prefix: search.php -&gt; D:/xampp/htdocs/mesin-uang/search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677f138/initial] (2) [perdir D:/xampp/htdocs/mesin-uang/] trying to replace prefix D:/xampp/htdocs/mesin-uang/ with /&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677f138/initial] (5) strip matching prefix: D:/xampp/htdocs/mesin-uang/search.php -&gt; search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677f138/initial] (4) add subst prefix: search.php -&gt; /search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677f138/initial] (1) [perdir D:/xampp/htdocs/mesin-uang/] internal redirect with /search.php [INTERNAL REDIRECT]&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677a370/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search.php -&gt; search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677a370/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^(.+)=(.+)' to uri 'search.php'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677a370/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search.php -&gt; search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677a370/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^search/(.+)/(.+)/$' to uri 'search.php'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677a370/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search.php -&gt; search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677a370/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^search/(.+)/(.+)$' to uri 'search.php'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677a370/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search.php -&gt; search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677a370/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^search/(.?)$' to uri 'search.php'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677a370/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search.php -&gt; search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677a370/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^(.*)/?$' to uri 'search.php'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677a370/initial/redir#1] (4) [perdir D:/xampp/htdocs/mesin-uang/] RewriteCond: input='GET /search/?key1=value1 HTTP/1.1' pattern='\s(.+)/\?(.+)\s' =&gt; matched&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677a370/initial/redir#1] (2) [perdir D:/xampp/htdocs/mesin-uang/] rewrite 'search.php' -&gt; '/search/key1=value1?'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677a370/initial/redir#1] (3) split uri=/search/key1=value1? -&gt; uri=/search/key1=value1, args=&lt;none&gt;&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677a370/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^(.+)=(.+)' to uri '/search/key1=value1'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677a370/initial/redir#1] (2) [perdir D:/xampp/htdocs/mesin-uang/] rewrite '/search/key1=value1' -&gt; '/search/key1/value1'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677a370/initial/redir#1] (2) [perdir D:/xampp/htdocs/mesin-uang/] explicitly forcing redirect with http://mesin-uang.local/search/key1/value1&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677a370/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^search(.+)=(.+)' to uri 'http://mesin-uang.local/search/key1/value1'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677a370/initial/redir#1] (2) [perdir D:/xampp/htdocs/mesin-uang/] trying to replace prefix D:/xampp/htdocs/mesin-uang/ with /&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677a370/initial/redir#1] (1) [perdir D:/xampp/htdocs/mesin-uang/] escaping http://mesin-uang.local/search/key1/value1 for redirect&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#677a370/initial/redir#1] (1) [perdir D:/xampp/htdocs/mesin-uang/] redirect to http://mesin-uang.local/search/key1/value1 [REDIRECT/302]&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#6773110/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] add path info postfix: D:/xampp/htdocs/mesin-uang/search -&gt; D:/xampp/htdocs/mesin-uang/search/key1/value1&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#6773110/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search/key1/value1 -&gt; search/key1/value1&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#6773110/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^(.+)=(.+)' to uri 'search/key1/value1'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#6773110/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] add path info postfix: D:/xampp/htdocs/mesin-uang/search -&gt; D:/xampp/htdocs/mesin-uang/search/key1/value1&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#6773110/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search/key1/value1 -&gt; search/key1/value1&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#6773110/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^search/(.+)/(.+)/$' to uri 'search/key1/value1'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#6773110/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] add path info postfix: D:/xampp/htdocs/mesin-uang/search -&gt; D:/xampp/htdocs/mesin-uang/search/key1/value1&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#6773110/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search/key1/value1 -&gt; search/key1/value1&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#6773110/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^search/(.+)/(.+)$' to uri 'search/key1/value1'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#6773110/initial] (2) [perdir D:/xampp/htdocs/mesin-uang/] rewrite 'search/key1/value1' -&gt; 'search.php?key1=value1'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#6773110/initial] (3) split uri=search.php?key1=value1 -&gt; uri=search.php, args=key1=value1&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#6773110/initial] (3) [perdir D:/xampp/htdocs/mesin-uang/] add per-dir prefix: search.php -&gt; D:/xampp/htdocs/mesin-uang/search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#6773110/initial] (2) [perdir D:/xampp/htdocs/mesin-uang/] trying to replace prefix D:/xampp/htdocs/mesin-uang/ with /&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#6773110/initial] (5) strip matching prefix: D:/xampp/htdocs/mesin-uang/search.php -&gt; search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#6773110/initial] (4) add subst prefix: search.php -&gt; /search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#6773110/initial] (1) [perdir D:/xampp/htdocs/mesin-uang/] internal redirect with /search.php [INTERNAL REDIRECT]&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#67801e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search.php -&gt; search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#67801e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^(.+)=(.+)' to uri 'search.php'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#67801e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search.php -&gt; search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#67801e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^search/(.+)/(.+)/$' to uri 'search.php'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#67801e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search.php -&gt; search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#67801e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^search/(.+)/(.+)$' to uri 'search.php'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#67801e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search.php -&gt; search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#67801e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^search/(.?)$' to uri 'search.php'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#67801e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search.php -&gt; search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#67801e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^(.*)/?$' to uri 'search.php'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#67801e8/initial/redir#1] (4) [perdir D:/xampp/htdocs/mesin-uang/] RewriteCond: input='GET /search/key1/value1 HTTP/1.1' pattern='\s(.+)/\?(.+)\s' =&gt; not-matched&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#67801e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search.php -&gt; search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#67801e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^(.+)=(.+)' to uri 'search.php'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#67801e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] strip per-dir prefix: D:/xampp/htdocs/mesin-uang/search.php -&gt; search.php&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#67801e8/initial/redir#1] (3) [perdir D:/xampp/htdocs/mesin-uang/] applying pattern '^search(.+)=(.+)' to uri 'search.php'&lt;br /&gt;127.0.0.1 - - [21/Sep/2009:19:38:40 +0700] [mesin-uang.local/sid#11932d8][rid#67801e8/initial/redir#1] (1) [perdir D:/xampp/htdocs/mesin-uang/] pass through D:/xampp/htdocs/mesin-uang/search.php&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;There is still other possibilities.&lt;br /&gt;&lt;br /&gt;http://mesin-uang.local/search/&lt;br /&gt;http://mesin-uang.local/search/key1/value1/&lt;br /&gt;http://mesin-uang.local/search/?key1=value1&lt;br /&gt;http://mesin-uang.local/search.php&lt;br /&gt;http://mesin-uang.local/search.php?key1=value1&lt;br /&gt;&lt;br /&gt;Too many possibilities? Maybe. But it's really challenging if we can make a ruleset (in one single htaccess) that works for all.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6456015515432213856-8526055276497842361?l=hypermedialabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hypermedialabs.blogspot.com/feeds/8526055276497842361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hypermedialabs.blogspot.com/2009/09/rewrite-rule-rewrite-cond.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6456015515432213856/posts/default/8526055276497842361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6456015515432213856/posts/default/8526055276497842361'/><link rel='alternate' type='text/html' href='http://hypermedialabs.blogspot.com/2009/09/rewrite-rule-rewrite-cond.html' title='Rewrite Rule Rewrite Cond'/><author><name>joesoef</name><uri>http://www.blogger.com/profile/15964732723778509737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6456015515432213856.post-6310188013058693695</id><published>2009-09-17T07:17:00.000-07:00</published><updated>2009-09-17T07:38:56.148-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='templating'/><category scheme='http://www.blogger.com/atom/ns#' term='Oscommerce'/><title type='text'>Begin Templating - Step 1</title><content type='html'>Now I want to start templating. A brief overview of Oscommerce templating can be found &lt;a href="http://svn.oscommerce.com/confluence/display/OSCDOC/Template+Structure+Implementation"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;My first impression is that Oscommerce version 3 is far better than version 2. Version 3 had employed template, using object oriented, better installation process, and many more improvements. But I feel that the files are (still) scattered in the designed directory structure. Compared to other cms framework (such as Joomla, Drupal, even Wordpress), IMHO, they provide better way to manage template files.&lt;br /&gt;&lt;br /&gt;It seems, Oscommerce customization is intended for developers. Not end user.&lt;br /&gt;&lt;br /&gt;What I do first, as I learning by doing, is copy and rename downloaded template files.&lt;br /&gt;&lt;br /&gt;I need to:&lt;br /&gt;- make a folder under oscommerce's root folder, like this: &lt;span style="font-style: italic;"&gt;[oscommerce3_root]/templates/[my_template]&lt;/span&gt;&lt;br /&gt;- create &lt;span style="font-style: italic;"&gt;[my_template].php&lt;/span&gt;, also in &lt;span style="font-style: italic;"&gt;[oscommerce3_root]/templates/&lt;/span&gt;&lt;br /&gt;- create &lt;span style="font-style: italic;"&gt;[my_template].php&lt;/span&gt; inside &lt;span style="font-style: italic;"&gt;[oscommerce3_root]/admin/includes/templates/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then inside [oscommerce3_root]/admin/includes/templates/[my_template].php, I need to edit class osC_Template_batik_lovers_01 to define groups. Groups is term for content area in pages. I made it like this:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;  class osC_Template_batik_lovers_01 {&lt;br /&gt;    var $_id,&lt;br /&gt;        $_title = 'batik_lovers_01',&lt;br /&gt;        $_code = 'batik_lovers_01',&lt;br /&gt;        $_author_name = 'freeoscommerce.com',&lt;br /&gt;        $_author_www = 'http://www.freeoscommerce.com',&lt;br /&gt;        $_markup_version = 'XHTML 1.0 Transitional',&lt;br /&gt;        $_css_based = '1', /* 0=No; 1=Yes */&lt;br /&gt;        $_medium = 'Screen',&lt;br /&gt;        $_groups = array('boxes' =&gt;&lt;br /&gt;                             array(&lt;br /&gt;                                'search-box', 'language-box',&lt;br /&gt;                                'user-menu', 'sidebar-top', 'sidebar-bottom',&lt;br /&gt;                                'content-top', 'content-bottom',&lt;br /&gt;                                'left', 'top_right'),&lt;br /&gt;                         'content' =&gt; array('before', 'after')),&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;This php file also serve as template installer. There is &lt;span style="font-style:italic;"&gt;$data&lt;/span&gt; in &lt;span style="font-style:italic;"&gt;function install()&lt;/span&gt;, and I made it look like this:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;$data = array('categories' =&gt; array('products/*', 'content-top', '100'),&lt;br /&gt;                    'manufacturers' =&gt; array('products/*', 'content-top', '200'),&lt;br /&gt;                    'whats_new' =&gt; array('*', 'sidebar-bottom', '300'),&lt;br /&gt;                    'search' =&gt; array('*', 'search-box', '300'),&lt;br /&gt;                    'information' =&gt; array('*', 'content-bottom', '500'),&lt;br /&gt;                    'shopping_cart' =&gt; array('*', 'left', '400'),&lt;br /&gt;                    'manufacturer_info' =&gt; array('products/info', 'right', '200'),&lt;br /&gt;                    'order_history' =&gt; array('*', 'right', '300'),&lt;br /&gt;                    'test_sellers' =&gt; array('*', 'left', '500'),&lt;br /&gt;                    'product_notifications' =&gt; array('products/info', 'right', '500'),&lt;br /&gt;                    'tell_a_friend' =&gt; array('products/info', 'right', '600'),&lt;br /&gt;                    'specials' =&gt; array('*', 'content-top', '700'),&lt;br /&gt;                    'reviews' =&gt; array('*', 'left', '800'),&lt;br /&gt;                    'languages' =&gt; array('*', 'left', '900'),&lt;br /&gt;                    'currencies' =&gt; array('*', 'left', '1000'),&lt;br /&gt;                    'new_products' =&gt; array('index/category_listing', 'after', 400),&lt;br /&gt;                    'new_products' =&gt; array('index/index', 'after', 400),&lt;br /&gt;                    'upcoming_products' =&gt; array('index/index', 'after', 450),&lt;br /&gt;                    'recently_visited' =&gt; array('*', 'after', 500),&lt;br /&gt;                    'also_purchased_products' =&gt; array('products/info', 'after', 100));&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;This is a cool feature, the template installer can also define default box's location.&lt;br /&gt;&lt;br /&gt;That's it for now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6456015515432213856-6310188013058693695?l=hypermedialabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hypermedialabs.blogspot.com/feeds/6310188013058693695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hypermedialabs.blogspot.com/2009/09/begin-templating-step-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6456015515432213856/posts/default/6310188013058693695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6456015515432213856/posts/default/6310188013058693695'/><link rel='alternate' type='text/html' href='http://hypermedialabs.blogspot.com/2009/09/begin-templating-step-1.html' title='Begin Templating - Step 1'/><author><name>joesoef</name><uri>http://www.blogger.com/profile/15964732723778509737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6456015515432213856.post-4357184252917009772</id><published>2009-09-17T07:13:00.000-07:00</published><updated>2009-09-17T07:15:47.415-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><title type='text'>WordPress 2.8.4: Security Release</title><content type='html'>WordPress 2.8.4: Security Release&lt;br /&gt;Posted August 12, 2009 by Matt. Filed under Releases, Security.&lt;br /&gt;&lt;br /&gt;Yesterday a vulnerability was discovered: a specially crafted URL could be requested that would allow an attacker to bypass a security check to verify a user requested a password reset. As a result, the first account without a key in the database (usually the admin account) would have its password reset and a new password would be emailed to the account owner. This doesn’t allow remote access, but it is very annoying.&lt;br /&gt;&lt;br /&gt;We fixed this problem last night and have been testing the fixes and looking for other problems since then. Version 2.8.4 which fixes all known problems is now available for download and is highly recommended for all users of WordPress.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wordpress.org/development/2009/08/2-8-4-security-release/"&gt;http://wordpress.org/development/2009/08/2-8-4-security-release/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note: not really dangerous, I think.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6456015515432213856-4357184252917009772?l=hypermedialabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hypermedialabs.blogspot.com/feeds/4357184252917009772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hypermedialabs.blogspot.com/2009/09/wordpress-284-security-release.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6456015515432213856/posts/default/4357184252917009772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6456015515432213856/posts/default/4357184252917009772'/><link rel='alternate' type='text/html' href='http://hypermedialabs.blogspot.com/2009/09/wordpress-284-security-release.html' title='WordPress 2.8.4: Security Release'/><author><name>joesoef</name><uri>http://www.blogger.com/profile/15964732723778509737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6456015515432213856.post-3571174803206183865</id><published>2009-09-17T04:37:00.000-07:00</published><updated>2009-09-17T04:39:46.247-07:00</updated><title type='text'>Privacy Policy</title><content type='html'>Privacy Policy for hypermedialabs.blogspot.com&lt;br /&gt;&lt;br /&gt;If you require any more information or have any questions about our privacy policy, please feel free to contact us by email at yusuf.fuad@gmail.com.&lt;br /&gt;&lt;br /&gt;At hypermedialabs.blogspot.com, the privacy of our visitors is of extreme importance to us. This privacy policy document outlines the types of personal information is received and collected by hypermedialabs.blogspot.com and how it is used.&lt;br /&gt;&lt;br /&gt;Log Files&lt;br /&gt;Like many other Web sites, hypermedialabs.blogspot.com makes use of log files. The information inside the log files includes internet protocol ( IP ) addresses, type of browser, Internet Service Provider ( ISP ), date/time stamp, referring/exit pages, and number of clicks to analyze trends, administer the site, track user’s movement around the site, and gather demographic information. IP addresses, and other such information are not linked to any information that is personally identifiable.&lt;br /&gt;&lt;br /&gt;Cookies and Web Beacons&lt;br /&gt;hypermedialabs.blogspot.com does use cookies to store information about visitors preferences, record user-specific information on which pages the user access or visit, customize Web page content based on visitors browser type or other information that the visitor sends via their browser.&lt;br /&gt;&lt;br /&gt;DoubleClick DART Cookie&lt;br /&gt;.:: Google, as a third party vendor, uses cookies to serve ads on hypermedialabs.blogspot.com.&lt;br /&gt;.:: Google's use of the DART cookie enables it to serve ads to users based on their visit to hypermedialabs.blogspot.com and other sites on the Internet.&lt;br /&gt;.:: Users may opt out of the use of the DART cookie by visiting the Google ad and content network privacy policy at the following URL - http://www.google.com/privacy_ads.html&lt;br /&gt;&lt;br /&gt;Some of our advertising partners may use cookies and web beacons on our site. Our advertising partners include ....&lt;br /&gt;Google Adsense&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;These third-party ad servers or ad networks use technology to the advertisements and links that appear on hypermedialabs.blogspot.com send directly to your browsers. They automatically receive your IP address when this occurs. Other technologies ( such as cookies, JavaScript, or Web Beacons ) may also be used by the third-party ad networks to measure the effectiveness of their advertisements and / or to personalize the advertising content that you see.&lt;br /&gt;&lt;br /&gt;hypermedialabs.blogspot.com has no access to or control over these cookies that are used by third-party advertisers.&lt;br /&gt;&lt;br /&gt;You should consult the respective privacy policies of these third-party ad servers for more detailed information on their practices as well as for instructions about how to opt-out of certain practices. hypermedialabs.blogspot.com's privacy policy does not apply to, and we cannot control the activities of, such other advertisers or web sites.&lt;br /&gt;&lt;br /&gt;If you wish to disable cookies, you may do so through your individual browser options. More detailed information about cookie management with specific web browsers can be found at the browsers' respective websites.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6456015515432213856-3571174803206183865?l=hypermedialabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hypermedialabs.blogspot.com/feeds/3571174803206183865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hypermedialabs.blogspot.com/2009/09/privacy-policy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6456015515432213856/posts/default/3571174803206183865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6456015515432213856/posts/default/3571174803206183865'/><link rel='alternate' type='text/html' href='http://hypermedialabs.blogspot.com/2009/09/privacy-policy.html' title='Privacy Policy'/><author><name>joesoef</name><uri>http://www.blogger.com/profile/15964732723778509737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6456015515432213856.post-5884709375600569220</id><published>2009-09-14T23:36:00.000-07:00</published><updated>2009-09-14T23:38:46.250-07:00</updated><title type='text'>Install custom template</title><content type='html'>Now I install a free web 2.0 template which I downloaded from http://freeoscommerce.com/&lt;br /&gt;&lt;br /&gt;But before that, I need to delete install directory and make configure.php not writable.&lt;br /&gt;&lt;br /&gt;How to install? Just upload the files and activate the template from administration panel. A bug may occur here, but I have solved it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6456015515432213856-5884709375600569220?l=hypermedialabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hypermedialabs.blogspot.com/feeds/5884709375600569220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hypermedialabs.blogspot.com/2009/09/install-custom-template.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6456015515432213856/posts/default/5884709375600569220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6456015515432213856/posts/default/5884709375600569220'/><link rel='alternate' type='text/html' href='http://hypermedialabs.blogspot.com/2009/09/install-custom-template.html' title='Install custom template'/><author><name>joesoef</name><uri>http://www.blogger.com/profile/15964732723778509737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6456015515432213856.post-4332356146407923264</id><published>2009-09-14T21:40:00.000-07:00</published><updated>2009-09-14T23:07:38.353-07:00</updated><title type='text'>Begin to try Oscommerce version 3</title><content type='html'>I am installing Oscommerce Version 3 Alpha 5 on osc3shop.joesoef.co.cc.&lt;br /&gt;&lt;br /&gt;It will be hosted by freehostia, a free hosting and the domain name is provided by co.cc, a free domain name for a year.&lt;br /&gt;&lt;br /&gt;It is quite simple. Just upload it and run the installer. However, the files is in a great number. After that, just access the site from web browser. The installer will ask you all the parameters required.&lt;br /&gt;&lt;br /&gt;In 5-10 minutes the Oscommerce is ready. Now I have osc3shop.joesoef.co.cc ready to use. I will use it for learning to create custom template.&lt;br /&gt;&lt;br /&gt;The next thing is to install additional template.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6456015515432213856-4332356146407923264?l=hypermedialabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hypermedialabs.blogspot.com/feeds/4332356146407923264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hypermedialabs.blogspot.com/2009/09/begin-to-try-oscommerce-version-3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6456015515432213856/posts/default/4332356146407923264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6456015515432213856/posts/default/4332356146407923264'/><link rel='alternate' type='text/html' href='http://hypermedialabs.blogspot.com/2009/09/begin-to-try-oscommerce-version-3.html' title='Begin to try Oscommerce version 3'/><author><name>joesoef</name><uri>http://www.blogger.com/profile/15964732723778509737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6456015515432213856.post-8190315244818697588</id><published>2009-09-13T21:02:00.000-07:00</published><updated>2009-09-13T21:07:02.830-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='versin 3.0 alpha 5'/><category scheme='http://www.blogger.com/atom/ns#' term='Oscommerce'/><title type='text'>Oscommerce version 3 bug</title><content type='html'>Found bug on Oscommerce version 3.0 alpha 5 :-(&lt;br /&gt;&lt;br /&gt;applications/templates/templates.php&lt;br /&gt;&lt;code&gt;&lt;br /&gt;case 'save':&lt;br /&gt;$this-&amp;gt;_page_contents = 'edit.php';&lt;br /&gt;&lt;br /&gt;if ( isset($_POST['subaction']) &amp;amp;&amp;amp; ($_POST['subaction'] == 'confirm') ) {&lt;br /&gt;$data = array('configuration' =&amp;gt; $_POST['configuration']);&lt;br /&gt;&lt;br /&gt;if ( $this-&amp;gt;_save($_GET['template'], $data, ( isset($_POST['default']) &amp;amp;&amp;amp; ( $_POST['default'] == 'on' ) ? true : false )) ) {&lt;br /&gt;$osC_MessageStack-&amp;gt;add($this-&amp;gt;_module, $osC_Language-&amp;gt;get('ms_success_action_performed'), 'success');&lt;br /&gt;} else {&lt;br /&gt;$osC_MessageStack-&amp;gt;add($this-&amp;gt;_module, $osC_Language-&amp;gt;get('ms_error_action_not_performed'), 'error');&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;I just changed it (I hope this will be solved soon) to:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt; case 'save':&lt;br /&gt;            $this-&gt;_page_contents = 'edit.php';&lt;br /&gt;            // var_dump ($_POST);&lt;br /&gt;&lt;br /&gt;            $data='';&lt;br /&gt;            if ( isset($_POST['subaction']) &amp;&amp; ($_POST['subaction'] == 'confirm') ) {&lt;br /&gt;              if (isset($_POST['configuration'])) {&lt;br /&gt;                $data = array('configuration' =&gt; $_POST['configuration']);&lt;br /&gt;              }&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Bug is already listed in http://svn.oscommerce.com/jira/browse/OSC-142.&lt;br /&gt;&lt;q&gt;The error is this when i set to default any template:&lt;br /&gt;&lt;br /&gt;Notice: Undefined index: configuration in .../oscommerce/admin/includes/content/templates.php on line 45 &lt;/q&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6456015515432213856-8190315244818697588?l=hypermedialabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hypermedialabs.blogspot.com/feeds/8190315244818697588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hypermedialabs.blogspot.com/2009/09/oscommerce-version-3-bug.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6456015515432213856/posts/default/8190315244818697588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6456015515432213856/posts/default/8190315244818697588'/><link rel='alternate' type='text/html' href='http://hypermedialabs.blogspot.com/2009/09/oscommerce-version-3-bug.html' title='Oscommerce version 3 bug'/><author><name>joesoef</name><uri>http://www.blogger.com/profile/15964732723778509737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
