File: trnpix/_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; # # Mar22: COPIED into _thumbspage*/ (and later, _viewable/) subfolders # as a live .htaccess, for nicer index views of those folders directly # (e.g., from web host's thumbspage.html). Else no font or spacing. # # Jun25: _publish.sh now appends this with more Apache code to display # .html files both as plain text and nicely with script showcode.py. # But _only_ in _viewable/'s copy; _thumbspage*/ must serve as HTML. #--------------------------------------------------------------------------------------------------- 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--------> \ " # Plus code inserted into _viewable/'s copy (only) by _publish.sh. # Added by _publish.sh # 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\=trnpix/_viewable/$1" [R,NC]