#
# .htaccess file for MythWeb. Please read the descriptive comments for help
# using these directives in your own setup. If you so desire (and for a small
# increase in efficiency, you can put this entire block into the apache config
# for your MythWeb host configuration).
#
# See http://www.mythtv.org/ for information about MythTV itself.
#
# @url $URL$
# @date $Date: 2006-06-28 14:33:11 -0400 (Wed, 28 Jun 2006) $
# @version $Revision: 10338 $
# @author $Author: xris $
#
#
# I *strongly* urge you to turn on authentication for MythWeb. It is disabled
# by default because it requires you to set up your own password file. Please
# see the man page for htdigest and then configure the folowing four directives
# to suit your authentication needs.
#
#AuthType Digest
#AuthName "nlbutts"
#AuthUserFile /var/www/htdigest
#Require valid-user
#BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On
#
# * If you're running Apache earlier than 2.2, you will need to use
# AuthDigestFile instead of AuthUserFile.
# MythTV now uses the correct file suffix for mpeg files, so all .nuv files
# should actually be NuppleVideo. However, apache probably doesn't know what
# those are, so we should tell it.
AddType video/nuppelvideo .nuv
# Specify the MIME type for favicon.ico in case the server configuration
# doesn't or in case the server configuration uses the IANA-approved MIME type
# (image/vnd.microsoft.icon)--which most browsers won't recognize.
AddType image/x-icon .ico
# Some special instructions for the PHP files of MythWeb.
#
# Use the following environment settings to tell MythWeb where you want it to
# look to connect to the database, the name of the database to connect to, and
# the authentication info to use to connect. The defaults will usually work
# fine unless you've changed mythtv's mysql.txt file, or are running MythWeb on
# a different server from your main backend. Make sure you have mod_env enabled.
#
setenv db_server "localhost"
setenv db_name "mythconverg"
setenv db_login "mythtv"
setenv db_password "mythtv"
#
# By default, MythWeb uses the hostname program to look up the hostname of the
# machine it runs on. If this reports incorrect data, or you run MythWeb on a
# machine without the hostname program, set this to your current hostname.
#
# setenv hostname "my_mythbox"
#
# By default, php will always search the current directory for include files,
# but if you wish to install these directories outside of the current path
# (eg. for security reasons), set this variable to the directory that
# contains the directories like languages and templates. eg.
#
# setenv include_path "/usr/share/mythweb"
# If you want MythWeb to email php/database errors (and a backtrace) to you,
# uncomment and set the email address below.
#
# setenv error_email "mythweb_errors@example.com"
#
# If your local file system is something other than UTF-8, set this variable
# so that the music and video portions of MythWeb can provide proper links
# to your downloadable files.
#
# setenv fs_encoding "ISO-8859-1"
# These settings are intended for apache 2.x. If your version of apache
# doesn't support php_value, or things like memory_limit aren't working
# as expected, then use these settings as examples for your own php.ini
# files.
php_value safe_mode 0
php_value memory_limit 32M
php_value output_buffering 4096
php_value register_globals 0
php_value magic_quotes_gpc 0
php_value file_uploads 0
php_value allow_url_fopen On
php_value zlib.output_handler Off
php_value zlib.output_compression 16384
php_value zlib.output_compression_level 4
php_value url_rewriter.tags a=href,area=href,frame=src,input=src,form=action
# These values do not change - bug in php
php_value output_handler NULL
# php_flag does not work in older versions of php
php_flag output_handler "NULL"
php_flag short_open_tag "On"
# Execute perl scripts in cgi mode (so we can stream properly)
SetHandler cgi-script
Options +ExecCGI
#
# The settings below relate specifically to mod_rewrite and the rewrite engine
# used to make the MythWeb user experience a little easier to deal with by
# simplifying the URL's neeced to access the various sections. Do not touch
# these settings unless you really know what you're doing..
#
# Turn on the rewrite engine
RewriteEngine on
# If MythWeb is installed outside of the document root (eg. using Alias) then
# you will need to set this directive to the base URL that MythWeb is visible
# from externally. If you do not, the web server will return 'not found'. eg.
# RewriteBase /mythweb
# Skip out early if we've already been through rewrites,
# or if this is a /css/, /js/ or /cache/ directory request.
RewriteRule ^(css|data|images|js|themes|skins|[a-z_]+\.(php|pl))(/|$) - [L]
# Redirect /pl/ requests to the perl cgi handler.
RewriteRule ^(pl(/.*)?)$ mythweb.pl/$1 [QSA,L]
# Redirect most of the remaining URL requests to the main mythweb script.
# It will then handle any requests given to it.
RewriteRule ^(.+)$ mythweb.php/$1 [QSA,L]
# If you're experiencing trouble with the previous two lines in your copy of
# apache, you could instead use something like:
# RewriteRule ^(pl(/.*)?)$ mythweb.pl?PATH_INFO=/$1 [L,QSA]
# RewriteRule ^(.+)$ mythweb.php?PATH_INFO=/$1 [L,QSA]
# Catch anything else that comes through and send it to mythweb.php with no parameters.
RewriteRule ^(.*)$ mythweb.php [QSA,L]