<https://larryullman.com/forums/index.php?/topic/29-part-3-physical-products-ch8-creating-a-catalog/#comment-59>
<http://schema.org/text>
"Hi Larry, \nMany thanks for writing such a good book - I am new to e-commerce and found your book to be very helpful. \nHere is my problem (i have done google search, but didn't work out solution  feeling so frustrated:(( ): \nSoftware used: Apache 2.2, php 5.3.5, MySql Server 5.1, Windows 7. \nWorking on catalogue, created database, populated tables, slightly modified code since my product has only 1 type (deleted if statements that determine type), even created page which shows me available Brands (I am using brands.php instead of shop.php, I adjusted .htaccess for this file name) so all procedures are working and I am getting info from database ok. Then I have a link which says &lt;a href=\"browse/'.urlencode($row['brand_name']).'/'.$row['brand_id'].'\"&gt; , and when I put my cursor over the link on page in browser, then I can see that link should point to e.g localhost/emacs/html/browse/Canon/1  but when I press link my browser says that link is broken. When I am trying to load browse.php it shows error message (I have an impression that my script in brands.php (analog to your shop.php)  do not pass variables to browse.php). On a top of this my Apache totally ignores rules that I set to rewrite url. I google it and everybody say you need to uncomment three lines, from which I have config file only one (and I did uncomment it):LoadModule rewrite_module modules/mod_rewrite.so, by the way I noticed that you use in .htaccess syntax 'mod_rewrite.c' but my apache conf file doesn't have such a file. \n  \nHere is my htaccess: \n&lt;IfModule mod_rewrite.so&gt; \nRewriteEngine on \n# For sales: \nRewriteRule ^brands/sales/?$ sales.php \n# For the primary categories: \nRewriteRule ^brands/([A-Za-z\\+]+)/?$brand.php \n# For specific products: \nRewriteRule ^browse/([A-Za-z\\+\\-]+)/([0-9]+)$browse.php?&amp;brand_name=$1&amp;brand_id=$2 \n# For HTTPS pages: \nRewriteCond %{HTTPS} off \nRewriteRule ^(checkout\\.php|billing\\.php|final\\.php|admin/(.*))$ https://%{HTTP_HOST}/$1 [R=301,L] \n&lt;/IfModule&gt; \nhere is my brands.php (analogue to your shop.php) \n&lt;?php  \nrequire('/includes/config.inc.php'); \n  \nrequire(MYSQL); \n$page_title=\"Brands Catalog - Shopping Area - Based in Dublin - Supplier of wide range of printer cartridges at the lowest prices in Ireland - Free next day delivery and 100% quality guarantee\"; \ninclude('/includes/header2.html'); \n$r=mysqli_query($dbc,\"CALL select_brands()\"); \nif(!$r) echo mysqli_error($dbc); \nif(mysqli_num_rows($r)&gt;=1){ \n\tinclude('/views/list_brands.html'); \n}else{ \n\tinclude('/views/error.html'); \n} \n  \ninclude('/includes/footer2.html'); \n?&gt; \nhere is list_brands.html: \n  \n&lt;div class=\"main_brand\"&gt;&lt;fieldset&gt;&lt;legend&gt;If you can't find a toner...&lt;/legend&gt;&lt;p&gt;If you can't find brand that you are looking for in list below, &lt;a href=\"mailto:ztischenko@emacs-enterprise.ie\"&gt;email&lt;/a&gt; us toner name you are looking for and we will come back to you on possibility to get it.&lt;/p&gt;&lt;/fieldset&gt;&lt;/div&gt; \n&lt;div class=\"brand_d\"&gt; \n&lt;ul class=\"brand_list\"&gt; \n&lt;?php while ($row=mysqli_fetch_array($r,MYSQLI_ASSOC)){ \necho '&lt;li&gt;&lt;fieldset&gt;&lt;legend&gt;'.$row['brand_name'].'&lt;/legend&gt;'.'&lt;div&gt;&lt;a href=\"page.html\"&gt;&lt;img alt=\"Click to view all printers in this category\" src=\"products/'.$row['image'].'\"/&gt;&lt;/a&gt;'.'There are toners for &lt;a href=\"browse/'.urlencode($row['brand_name']).'/'.$row['brand_id'].'\"&gt;'.$row['printer_count'].'&lt;/a&gt;'.' '.$row['brand_name'].' printers listed on our website.&lt;/div&gt;'.'&lt;/fieldset&gt;&lt;/li&gt;'; \n} \n?&gt; \n  \n&lt;/ul&gt; \n&lt;/div&gt; \n  \nand finally here is my browse.php: \n&lt;?php  \nrequire('/includes/config.inc.php'); \n$brand_name=$sp_brand=false; \nif(isset($_GET['brand_name'],$_GET['brand_id'])&amp;&amp; filter_var($_GET['brand_id'], FILTER_VALIDATE_INT, array('min_range'=&gt;1))){ \n\t$brand_name=$_GET['brand_name']; \n\t$sp_brand=$_GET['brand_id'];} \n  \n\tif(!$sp_brand||!$brand_name){ \n\t\t$page_title='Error!'; \n\t\tinclude('/includes/header2.html'); \n\t\tinclude('/views/error.html'); \n\t\tinclude('/includes/footer2.html'); \n\t\texit(); \n\t} \n\t$page_title='Buy'.$brand_name.' at the best prices in Ireland.'; \n\tinclude('/includes/header2.html'); \n\trequire(MYSQL); \n\t$r=mysqli_query($dbc,\"call select_printers('$sp_brand')\"); \n\tif(mysqli_num_rows($r)&gt;=1){ \n\t\tinclude('/views/list_printers.html'); \n\t}else{ \n\t\tinclude('/views/noproducts.html'); \n\t} \n\tinclude('/includes/footer2.html'); \n\t?&gt; \n  \nWhen I view browse.php in 'live code' view in Dreamviewer then I see error message from error.html. \n  \nCould you please help me? I spent smth like 8 hrs in a row and I seem not moving anywhere...  \nMany thanks in advance, \nRegards \nZory \n"
<https://larryullman.com/forums/index.php?/topic/29-part-3-physical-products-ch8-creating-a-catalog/#comment-308>