File: thumbspage/examples/3.0-upgrades/_viewable/_htaccess
#--------------------------------------------------------------------------------------------------- # A folder-specific Apache web-server config file. Used only # when unzipped content is viewed online on the host web server. # # - Enable auto index pages when viewed in a browser # - Display (not run) python source code files # - Inherited by all subdirs: need just one at top of tree # # README oddities - though n longer so, one of the host ISPs: # - Botched UTF8 signed BOM bytes in READMEs (had to resave # some in ascii (notepad's "ansi") mode) # - Preferred an .html README over a .txt if both are present # (had to name the .txt explicitly here) # - Didn't show .html files in root in indexes if they are # prefixed by "README", due to a "IndexIgnore README* in # httpd.conf, presumably (had to rename some files "Readme*") # # Oct17: RemoveHandler was broken by godaddy relocating my site... # it can now appear just once, in the Books root folder's .htaccess; # # Feb18: Apache rewrite rule for showcode breaks Readme.txt use # here; use .html with a <PRE> to work around till "real" page; # # Jun25: COPIED into _viewable/ subfolder as a live .htaccess # for nicer view of that folder's index, else no font or spacing. # Also uses Apache rewrite rules to display .html (and other) # files both as plain text and nicely with script showcode.py. # Unlike trnpix, this is the only folder that uses .htaccess in # this demo, so no reason append this selectively in _generate.sh. #--------------------------------------------------------------------------------------------------- Options +Indexes ###RemoveHandler cgi-script .py .pyw ReadmeName _README.html #--------------------------------------------------------------------------------------------------- # Feb18: COPIED from feb18 generated page into .htaccess of all Apache auto-index folders. # Can't use HeaderName insert files easily: requires unique title text in each. # This could be generated by genhtml in .., but must then be one with title for each. # Footer: see dummy-footer-COPY (dummy_footer.html links must be "..", only one ReadmeName). # TDB: punt on analytics js?: already run by showsource url for files themselves. # Aug18: use new https paths for icon/css resources, not http (see root .htaccess note). #--------------------------------------------------------------------------------------------------- # Else wrapped badly on small srceens; root .htaccess does [IndexOptions NameWidth=*] IndexOptions +SuppressDescription +SuppressLastModified +SuppressSize # Else whole page is sent as Latin-1 (despite <meta>) which breaks UTF8 chars in README IndexOptions +Charset=UTF-8 # Else list includes this (but not README.txt!) in larger programs' pages; HTML is shown IndexIgnore _README.html # Only 1 insert allowed (and though scantly documented, \=continuation in .htaccess). # This adds: [unicode type, page icon, site-wide styles, mobile support, analytics]. # It _almost_ works to put all this in a separate common file referenced by HeaderName, # but it shows up after </head> in <body>, and that's wrong for <meta> per standards. IndexHeadInsert "\ <!--------INSERT by .htaccess--------> \ <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"> \ \ <link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"https://learning-python.com/favicon.ico\" /> \ \ <link rel=\"stylesheet\" type=\"text/css\" href=\"https://learning-python.com/_main.css\"> \ \ <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"> \ \ <script async src=\"https://www.googletagmanager.com/gtag/js?id=G-J8CTEZHX3L\"></script> \ <script> \ window.dataLayer = window.dataLayer || []; \ function gtag(){dataLayer.push(arguments);} \ gtag('js', new Date()); \ gtag('config', 'G-J8CTEZHX3L'); \ </script> \ \ <style> LI {margin-bottom: 10px;} </style> \ <!--------END INSERT by .htaccess--------> \ " #--------------------------------------------------------------------------------------------------- # Serve+show html and other files here and below as plain text, nicely #--------------------------------------------------------------------------------------------------- rewritecond %{HTTP_HOST} ^www.learning-python.com$ [OR] rewritecond %{HTTP_HOST} ^learning-python.com$ rewriterule ^(?!(?:cgi\/|.*robots.txt))(_htaccess|.*\.(?:py|txt|pyw|sh|c|h|note|html))$ "https\:\/\/learning-python\.com\/cgi\/showcode\.py\?name\=thumbspage/examples/3.0-upgrades/_viewable/$1" [R,NC]