File avideo-apache.conf of Package avideo

# <VirtualHost *:80>
#   ServerName avideo.localhost
#  DocumentRoot __avideo_web__
#  DirectoryIndex index.html index.php

Alias /avideo "__avideo_web__"

<Directory "__avideo_web__">
    AllowOverride All
    AddType text/vtt .vtt
    Options +FollowSymLinks
    Options -Indexes

    <IfModule mod_authz_core.c>
      # Apache 2.4
      Require all granted
    </IfModule>
    <IfModule !mod_authz_core.c>
      # Apache 2.2
      Order allow,deny
      Allow from all
    </IfModule>

    
    <IfModule mod_authz_core.c>
      # Apache 2.4
      <Files "*">
	   Require host 127.0.0.1
	    # Require ip 128.252.135.
	    # Require host mydomain.com
	    # Require host host.mydomain.com
      </Files>
      
      <Files ~ "^avideo\.(js|php)|robots\.txt$|index\.php$">
        Require all granted
      </Files>    
    </IfModule>
    

    <IfModule !mod_authz_core.c>
      # Apache 2.2
      <Files "*">
	    Order deny, allow
        Deny from all
        Allow from 127.0.0.1
	    # Allow from 128.252.135.
	    # Allow from .mydomain.com
	    # Allow from host.mydomain.com
      </Files>

      <Files ~ "^avideo\.(js|php)|robots\.txt$|index\.php$">
	    Allow from all
	    Satisfy any
      </Files>    
    </IfModule>

    # BEGIN Expires Don't forget to enable mod_headers and mod_expires, 
    # you can do so by running a2enmod rewrite and a2enmod headers
    <IfModule mod_expires.c>
        ExpiresActive On
        ExpiresDefault "access plus 1 seconds"
        ExpiresByType text/html "access plus 1 seconds"
        ExpiresByType image/gif "access plus 2592000 seconds"
        ExpiresByType image/jpeg "access plus 2592000 seconds"
        ExpiresByType image/png "access plus 2592000 seconds"
        ExpiresByType text/css "access plus 604800 seconds"
        ExpiresByType text/javascript "access plus 216000 seconds"
        ExpiresByType application/x-javascript "access plus 216000 seconds"
    </IfModule>

    # BEGIN Caching
    <IfModule mod_headers.c>
        Header set Access-Control-Allow-Origin: *
        <filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf|ts)$">
            Header set Cache-Control "max-age=2592000, public"
        </filesMatch>
        <filesMatch "\.(woff2|css)$">
            Header set Cache-Control "max-age=604800, public"
        </filesMatch>
        <filesMatch "\.(js)$">
            Header set Cache-Control "max-age=216000, private"
        </filesMatch>
        <filesMatch "\.(xml|txt)$">
            Header set Cache-Control "max-age=216000, public, must-revalidate"
        </filesMatch>
        <filesMatch "\.(html|htm|php|key|m3u8)$">
            Header set Cache-Control "max-age=1, private, must-revalidate"
        </filesMatch>
    </IfModule>

   <IfModule mod_mime.c>
        AddType application/x-javascript .js
        AddType text/css .css
   </IfModule>

   <IfModule mod_deflate.c>
        <IfModule mod_setenvif.c>
                BrowserMatch ^Mozilla/4 gzip-only-text/html
                BrowserMatch ^Mozilla/4.0[678] no-gzip
                BrowserMatch bMSIE !no-gzip !gzip-only-text/html
        </IfModule>
        # Compress HTML, CSS, JavaScript, Text, XML and fonts
        AddOutputFilterByType DEFLATE application/javascript
        AddOutputFilterByType DEFLATE application/rss+xml
        AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
        AddOutputFilterByType DEFLATE application/x-font
        AddOutputFilterByType DEFLATE application/x-font-opentype
        AddOutputFilterByType DEFLATE application/x-font-otf
        AddOutputFilterByType DEFLATE application/x-font-truetype
        AddOutputFilterByType DEFLATE application/x-font-ttf
        AddOutputFilterByType DEFLATE application/x-javascript
        AddOutputFilterByType DEFLATE application/xhtml+xml
        AddOutputFilterByType DEFLATE application/xml
        AddOutputFilterByType DEFLATE font/opentype
        AddOutputFilterByType DEFLATE font/otf
        AddOutputFilterByType DEFLATE font/ttf
        AddOutputFilterByType DEFLATE image/svg+xml
        AddOutputFilterByType DEFLATE image/x-icon
        AddOutputFilterByType DEFLATE text/css
        AddOutputFilterByType DEFLATE text/html
        AddOutputFilterByType DEFLATE text/javascript
        AddOutputFilterByType DEFLATE text/plain
        AddOutputFilterByType DEFLATE text/xml
    </IfModule>

    Header append Vary User-Agent env=!dont-vary

    <IfModule mod_rewrite.c>
        RewriteEngine on
        #VideoHLS for DRM
    
        RewriteRule    ^videos/webfonts/(fa-.*) view/css/fontawesome-free-5.5.0-web/webfonts/$1    [NC,L]
    
        RewriteRule    ^playLink/?$ view/modePlayLink.php    [QSA]
        RewriteRule    ^videos/([^/]+)/(.*).key$ plugin/VideoHLS/downloadProtection.php?filename=$1&key=$2    [QSA]
    
        RewriteRule    glyphicons-halflings-regular(.+)$ view/bootstrap/fonts/glyphicons-halflings-regular$1    [NC,L]
    
        RewriteRule    ^meet/([0-9]+)/(.+)$ plugin/Meet/iframe.php?meet_schedule_id=$1&roomName=$2 [NC,L,QSA]
        RewriteRule    ^meet/([0-9]+)$ plugin/Meet/iframe.php?meet_schedule_id=$1 [NC,L,QSA]
        RewriteRule    ^live/([0-9]+)/(.+)/(.+)$ plugin/Live/?live_servers_id=$1&c=$2&live_index=$3 [NC,L,QSA]
        RewriteRule    ^live/([0-9]+)/(.+)$ plugin/Live/?live_servers_id=$1&c=$2 [NC,L,QSA]
    
        RewriteRule    ^liveLink/([0-9]+).*$ plugin/LiveLinks/view/Live.php?link=$1 [NC,L,QSA]
        RewriteRule    ^liveLinkEmbed/([0-9]+).*$ plugin/LiveLinks/view/Live.php?link=$1&embed=1 [NC,L,QSA]
    
        #main Files
        RewriteRule    ^index.php$ view/index.php    [NC,L]
        #RewriteRule    ^index.php$ /view/index.php    [NC,L]
        #RewriteRule    ^$ view/    [NC,L]
        RewriteRule    ^bootstrap/(.+)$ view/bootstrap/$1 [NC,L]
        RewriteRule    bootstrap-select.js.map$ view/bootstrap/bootstrapSelectPicker/js/bootstrap-select.js.map$1 [NC,L]
        RewriteRule    ^oembed/?(.+)$ view/oembed.php$1 [NC,L]
        RewriteRule    ^js/(.+)$ view/js/$1 [NC,L]
        RewriteRule    ^css/(.+)$ view/css/$1 [NC,L]
        RewriteRule    ^img/(.+)$ view/img/$1 [NC,L]
        RewriteRule    ^i/(.+)$ view/iframe.php?type=$1 [NC,L]
        RewriteRule    ^videos/fonts/(.+)$ view/bootstrap/fonts/$1 [NC,L]
        RewriteRule    ^page/([0-9]+)/?$ view/?page=$1    [QSA]
        RewriteRule    ^videoOnly/?$ view/?type=video    [NC,L]
        RewriteRule    ^audioOnly/?$ view/?type=audio    [NC,L]
        RewriteRule    ^download$ view/downloadExternalVideo.php    [NC,L]
        RewriteRule    ^info$ view/info.php    [NC,L]
        RewriteRule    ^version$ view/info.php?version=1    [NC,L]
        RewriteRule    ^downloadNow$ objects/downloadVideo.php    [NC,L]
        RewriteRule    ^getDownloadProgress$ objects/downloadVideoProgress.php    [NC,L]
        RewriteRule    ^status$ objects/status.json.php    [NC,L]
        RewriteRule    ^menu/([^!#$&'()*+,\/:;=?@[\]]+)/? plugin/TopMenu/seo.php?menuSeoUrlItem=$1    [QSA,L]
        RewriteRule    ^admin/plugin/(.+)$ plugin/$1 [NC,L]
        RewriteRule    ^trending/?$ view/trending.php    [NC,L,QSA]
    
        RewriteRule    ^about$ view/about.php    [NC,L]
        RewriteRule    ^contact$ view/contact.php    [NC,L]
        RewriteRule    ^sendEmail$ objects/sendEmail.json.php    [NC,L]
        RewriteRule    ^captcha$ objects/getCaptcha.php    [NC,L]
        RewriteRule    ^monitor/(.+)$ objects/ServerMonitor/$1    [NC,L]
        RewriteRule    ^videosList$ view/videosList.php    [NC,L]
        RewriteRule    ^videosList/video/([^!#$&'()*,\/:;=?@[\]]+)/page/([0-9]+)/?$ view/videosList.php?videoName=$1&page=$2    [QSA]
        RewriteRule    ^videosList/cat/([^!#$&'()*,\/:;=?@[\]]+)/video/([^!#$&'()*+,\/:;=?@[\]]+)/page/([0-9]+)/?$ view/videosList.php?catName=$1&videoName=$2&page=$3    [QSA]
    
        #for the category name
        RewriteRule    ^cat/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/?catName=$1    [NC,L,QSA]
        RewriteRule    ^cat/([^!#$&'()*+,\/:;=?@[\]]+)/page/([0-9]+)/?$ view/?catName=$1&page=$2    [NC,L,QSA]
    
        RewriteRule    ^tag/([0-9-]+)(.*)?$ view/?tags_id=$1    [NC,L,QSA]
    
    
        #for the video name
        RewriteRule    ^video/([^!#$&'()*,\/:;=?@[\]]+)/?$ view/?videoName=$1    [QSA]
        RewriteRule    ^video/([^!#$&'()*,\/:;=?@[\]]+)/page/([0-9]+)/??$ view/?videoName=$1&page=$2    [QSA]
        RewriteRule    ^v/([0-9a-zA-Z_.-]+)/?$ view/?v=$1    [QSA]
        RewriteRule    ^v/([0-9a-zA-Z_.-]+)/page/([0-9]+)/??$ view/?v=$1&page=$2     [QSA]
        RewriteRule    ^video/([0-9a-zA-Z_.-]+)/([^!#$&'()*,\/:;=?@[\]]+)/?$ view/?v=$1    [QSA]
        RewriteRule    ^video/([0-9a-zA-Z_.-]+)/([^!#$&'()*,\/:;=?@[\]]+)/page/([0-9]+)/??$ view/?v=$1&page=$3     [QSA]
        RewriteRule    ^evideo/([a-zA-z0-9=]+)/?$ view/?evideo=$1    [QSA]
    
        #for the video name
        RewriteRule    ^cat/([^!#$&'()*,\/:;=?@[\]]+)/video/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/?catName=$1&videoName=$2    [QSA]
        RewriteRule    ^cat/([^!#$&'()*,\/:;=?@[\]]+)/video/([^!#$&'()*+,\/:;=?@[\]]+)/page/([0-9]+)/?$ view/?catName=$1&videoName=$2&page=$3   [QSA]
        #for the embeded video name
        RewriteRule    ^videoEmbeded/([0-9a-zA-Z_.-]+)/? view/videoEmbeded.php?v=$1    [QSA]
        RewriteRule    ^videoEmbeded/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?videoName=$1    [QSA]
        RewriteRule    ^cat/([^!#$&'()*,\/:;=?@[\]]+)/videoEmbeded/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?catName=$1&videoName=$2    [QSA]
        RewriteRule    ^videoEmbed/([0-9a-zA-Z_.-]+)/? view/videoEmbeded.php?v=$1    [QSA]
        RewriteRule    ^videoEmbed/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?videoName=$1    [QSA]
        RewriteRule    ^vEmbed/([0-9a-zA-Z_.-]+)/?$ view/videoEmbeded.php?v=$1    [QSA]
        RewriteRule    ^videoEmbed/([0-9a-zA-Z_.-]+)/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?v=$1    [QSA]
        RewriteRule    ^evideoEmbed/([a-zA-z0-9=]+)/?$ view/videoEmbeded.php?evideo=$1    [QSA]
    
        RewriteRule    ^plugin/([^!#$&'()*+,\/:;=?@[\]]+)/(.*)?$ plugin/$1/$2    [NC,L]
    
        RewriteRule    ^upload$ view/mini-upload-form/    [NC,L]
        RewriteRule    ^fileUpload$ view/mini-upload-form/upload.php    [NC,L]
        RewriteRule    ^uploadPoster/([0-9]+)/(jpg|gif)$ objects/uploadPoster.php?video_id=$1&type=$2    [NC,L]
    
        #for the Article name
        RewriteRule    ^article/([^!#$&'()*,\/:;=?@[\]]+)/?$ view/?videoName=$1    [QSA]
        RewriteRule    ^article/([^!#$&'()*,\/:;=?@[\]]+)/page/([0-9]+)/??$ view/?videoName=$1&page=$2    [QSA]
        RewriteRule    ^article/([0-9a-zA-Z_.-]+)/([^!#$&'()*,\/:;=?@[\]]+)/?$ view/?v=$1    [QSA]
        RewriteRule    ^article/([0-9a-zA-Z_.-]+)/([^!#$&'()*,\/:;=?@[\]]+)/page/([0-9]+)/??$ view/?v=$1&page=$3     [QSA]
    
        #for the embeded article name
        RewriteRule    ^articleEmbed/([0-9a-zA-Z_.-]+)/? view/videoEmbeded.php?v=$1    [QSA]
        RewriteRule    ^articleEmbed/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?videoName=$1    [QSA]
        RewriteRule    ^cat/([^!#$&'()*,\/:;=?@[\]]+)/articleEmbed/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?catName=$1&videoName=$2    [QSA]
        RewriteRule    ^articleEmbed/([0-9a-zA-Z_.-]+)/? view/videoEmbeded.php?v=$1    [QSA]
        RewriteRule    ^articleEmbed/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?videoName=$1    [QSA]
        RewriteRule    ^articleEmbed/([0-9a-zA-Z_.-]+)/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?v=$1    [QSA]
    
        #edit your own user
        RewriteRule    ^user$ view/user.php    [NC,L]
        RewriteRule    ^user/([0-9]+)/foto.png$ view/userGetPhoto.php?users_id=$1    [QSA]
    
        #manager user
        RewriteRule    ^users$ view/managerUsers.php    [NC,L]
        RewriteRule    ^users.json$ objects/users.json.php    [NC,L]
        RewriteRule    ^updateUser$ objects/userUpdate.json.php    [NC,L]
        RewriteRule    ^savePhoto$ objects/userSavePhoto.php    [NC,L]
        RewriteRule    ^saveBackground$ objects/userSaveBackground.php    [NC,L]
        RewriteRule    ^addNewUser$ objects/userAddNew.json.php    [NC,L]
        RewriteRule    ^deleteUser$ objects/userDelete.json.php    [NC,L]
        RewriteRule    ^recoverPass$ objects/userRecoverPass.php    [NC,L]
        RewriteRule    ^saveRecoverPassword$ objects/userRecoverPassSave.json.php    [NC,L]
        RewriteRule    ^signUp$ view/signUp.php    [NC,L]
        RewriteRule    ^createUser$ objects/userCreate.json.php    [NC,L]
    
    
        RewriteRule    ^usersGroups$ view/managerUsersGroups.php    [NC,L]
        RewriteRule    ^usersGroups.json$ objects/usersGroups.json.php    [NC,L]
        RewriteRule    ^addNewUserGroups$ objects/userGroupsAddNew.json.php    [NC,L]
        RewriteRule    ^deleteUserGroups$ objects/userGroupsDelete.json.php    [NC,L]
    
        #manager category
        RewriteRule    ^categories$ view/managerCategories.php    [NC,L]
        RewriteRule    ^categories.json$ objects/categories.json.php    [NC,L]
        RewriteRule    ^addNewCategory$ objects/categoryAddNew.json.php    [NC,L]
        RewriteRule    ^deleteCategory$ objects/categoryDelete.json.php    [NC,L]
        RewriteRule    ^listCategories$ view/listCategories.php    [NC,L]
    
        #manager plugin
        RewriteRule    ^plugins$ view/managerPlugins.php    [NC,L]
        RewriteRule    ^plugins.json$ objects/plugins.json.php    [NC,L]
        RewriteRule    ^pluginsAvailable.json$ objects/pluginsAvailable.json.php    [NC,L]
        RewriteRule    ^pluginImport.json$ objects/pluginImport.json.php    [NC,L]
        RewriteRule    ^switchPlugin$ objects/pluginSwitch.json.php    [NC,L]
        RewriteRule    ^addDataObjectPlugin.json$ objects/pluginAddDataObject.json.php    [NC,L]
        RewriteRule    ^runDBScriptPlugin.json$ objects/pluginRunDatabaseScript.json.php    [NC,L]
    
        #manager playList
        RewriteRule    ^epg.xml$ plugin/PlayLists/epg.xml.php    [NC,L,QSA]
        RewriteRule    ^epg.json$ plugin/PlayLists/epg.json.php    [NC,L,QSA]
        RewriteRule    ^epg.html$ plugin/PlayLists/epg.html.php    [NC,L,QSA]
        RewriteRule    ^epg$ plugin/PlayLists/epg.php    [NC,L,QSA]
        RewriteRule    ^tv$ plugin/PlayLists/tv.php    [NC,L,QSA]
        RewriteRule    ^iptv$ plugin/PlayLists/iptv.php    [NC,L,QSA]
        RewriteRule    ^iptv/([^/]+)/?$ plugin/PlayLists/iptv.php?channelName=$1    [NC,L,QSA]
        RewriteRule    ^playLists.json$ objects/playlists.json.php    [NC,L]
        RewriteRule    ^playListsVideos.json$ objects/playlistsVideos.json.php    [NC,L]
        RewriteRule    ^playListsFromUser.json/([0-9]+)/?$ objects/playlistsFromUser.json.php?users_id=$1    [NC,L]
        RewriteRule    ^addNewPlayList$ objects/playlistAddNew.json.php    [NC,L]
        RewriteRule    ^playListAddVideo.json$ objects/playListAddVideo.json.php    [NC,L]
        RewriteRule    ^playlist/([0-9]+)/([0-9]+)/?$ view/?playlist_id=$1&playlist_index=$2    [NC,L]
        RewriteRule    ^playlist/([0-9]+)/?$ view/?playlist_id=$1    [NC,L]
        RewriteRule    ^removeVideoFromPlaylist/?$ objects/playlistRemoveVideo.php    [NC,L]
        RewriteRule    ^removePlaylist/?$ objects/playlistRemove.php    [NC,L]
        RewriteRule    ^renamePlaylist/?$ objects/playlistRename.php    [NC,L]
        RewriteRule    ^sortPlaylist/?$ objects/playlistSort.php    [NC,L]
        RewriteRule    ^mrss/?$ feed/index.php?mrss=1   [QSA]
        RewriteRule    ^roku.json$ feed/index.php?roku=1   [QSA]
        RewriteRule    ^channel/([^/]+)/roku.json$ feed/index.php?channelName=$1&roku=1    [QSA]
        RewriteRule    ^channel/([^/]+)/feed/?$ feed/index.php?channelName=$1    [QSA]
        RewriteRule    ^channel/([^/]+)/rss/?$ feed/index.php?channelName=$1    [QSA]
        RewriteRule    ^channel/([^/]+)/mrss/?$ feed/index.php?channelName=$1&mrss=1    [QSA]
        RewriteRule    ^channel/([^/]+) view/channel.php?channelName=$1    [QSA]
        RewriteRule    ^channel/?$ view/channel.php    [QSA]
        RewriteRule    ^channels/?$ view/channels.php    [NC,L]
    
        #playlist alias
        RewriteRule    ^programs.json$ objects/playlists.json.php    [QSA]
        RewriteRule    ^program/([0-9]+)/([0-9]+)(/.*)?$ view/?playlist_id=$1&playlist_index=$2    [QSA]
        RewriteRule    ^program/([0-9]+)(/.*)?$ view/?playlist_id=$1    [QSA]
        RewriteRule    ^viewProgram/([0-9]+).*?$ view/channelProgram.php?program_id=$1    [QSA]
        RewriteRule    ^favorite/?$ view/?playlist_name=favorite    [QSA]
        RewriteRule    ^watch-later/?$ view/?playlist_name=watch-later    [QSA]
    
        #manager videos
        RewriteRule    ^orphanFiles$ view/orphanFiles.php    [NC,L]
        RewriteRule    ^mvideos$ view/managerVideos.php    [NC,L]
        RewriteRule    ^videos.json$ objects/videos.json.php    [NC,L]
        RewriteRule    ^videosAndroid.json$ objects/videosAndroid.json.php    [NC,L]
        RewriteRule    ^videoAndroid.json$ objects/videoAndroid.json.php    [NC,L]
        RewriteRule    ^deleteVideo$ objects/videoDelete.json.php    [NC,L]
        RewriteRule    ^addNewVideo$ objects/videoAddNew.json.php    [NC,L]
        RewriteRule    ^refreshVideo$ objects/videoRefresh.json.php    [NC,L]
        RewriteRule    ^setStatusVideo$ objects/videoStatus.json.php    [NC,L]
        RewriteRule    ^setCategoryVideo$ objects/videoCategory.json.php    [NC,L]
        RewriteRule    ^rotateVideo$ objects/videoRotate.json.php    [NC,L]
    
    
        # Subscribes
        RewriteRule    ^subscribes$ view/managerSubscribes.php    [NC,L]
        RewriteRule    ^subscribes.json$ objects/subscribes.json.php    [NC,L]
        RewriteRule    ^subscribe.json$ objects/subscribe.json.php    [NC,L]
        RewriteRule    ^notifySubscribers.json$ objects/notifySubscribers.json.php    [NC,L]
    
    
        RewriteRule    ^aVideoQueueEncoder.json$ objects/aVideoQueueEncoder.json.php    [NC,L]
        RewriteRule    ^aVideoEncoder.json$ objects/aVideoEncoder.json.php    [NC,L]
        RewriteRule    ^aVideoEncoderChunk.json$ objects/aVideoEncoderChunk.json.php    [NC,L]
    
        #comment
        RewriteRule    ^comments$ view/managerComments.php    [NC,L]
        RewriteRule    ^saveComment$ objects/commentAddNew.json.php    [NC,L]
        RewriteRule    ^comments.json/([0-9]+)$ objects/comments.json.php?video_id=$1    [NC,L]
    
        RewriteRule    ^login$ objects/login.json.php    [NC,L]
        RewriteRule    ^logoff$ objects/logoff.php    [NC,L]
    
        RewriteRule    ^like$ objects/like.json.php?like=1    [QSA]
        RewriteRule    ^dislike$ objects/like.json.php?like=-1    [QSA]
    
    
        #manager configuration
    
        RewriteRule    ^update/?$ view/update.php    [NC,L]
        RewriteRule    ^siteConfigurations$ view/configurations.php    [NC,L]
        RewriteRule    ^updateConfig$ objects/configurationUpdate.json.php    [NC,L]
    
        RewriteRule    ^charts$ view/charts.php    [NC,L]
    
        RewriteRule    ^help$ view/help.php    [NC,L]
    
        # YouTube Sync
        RewriteRule    ^youtubeUpload$ objects/youtubeUpload.json.php    [NC,L]
    
        RewriteRule    ^googleAdView$ view/googleAdView.php    [NC,L]
    
        RewriteRule    ^notifications.json$ objects/notifications.json.php    [NC,L]
    
        RewriteRule    ^sitemap.xml$ view/sitemap.xml.php    [NC,L]
        RewriteRule    ^robots.txt$ view/robots.txt.php    [NC,L]
        RewriteRule    ^manifest.json$ view/manifest.json.php    [NC,L]
    
        RewriteRule    ^videos/(.*)/index.m3u8$ view/hls.php?videoDirectory=$1    [NC,L,QSA]
        RewriteRule    ^videos/(.*)/index.m3u8.mp4$ view/hls.php?playHLSasMP4=1&videoDirectory=$1    [NC,L,QSA]
    
        RewriteRule    ^vast.xml/?([0-9]+)?$ plugin/AD_Server/VAST.php?campaign_has_videos_id=$1    [NC,L]
    
    
        <IfModule mod_xsendfile.c>
            RewriteRule    ^videos/([_A-Za-z0-9.-]+/)?([^!#$&'()*+,\/:;=?@[\]]+(\.(mp4|webm|m3u8|mp3|ogg)))$ view/xsendfile.php?file=$2    [QSA]
        </IfModule>
    
        # if image do not exists
        RewriteCond %{REQUEST_URI} \.(jpg|jpeg|gif|png|ico)$ [NC]
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule (.*)$ img/image404.php?image=$1 [NC,L]
    
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-l
        RewriteRule .*$ view/error.php [NC,L]
    </IfModule>

    <IfModule mod_php7.c>
        # improved security
        php_admin_value open_basedir "__avideo_web__:__avideo_conf__:__avideo_log__:/tmp:/usr/bin:/var/cache/apache2:/run/avideo_sessions"
        php_admin_flag display_startup_errors Off
        php_admin_flag display_errors Off
        php_admin_flag file_uploads Off
        php_admin_flag allow_url_fopen Off
        php_admin_value upload_tmp_dir "/var/cache/apache2"
        php_admin_value session.save_path "/run/avideo_sessions/"
        php_admin_value disable_functions "posix_setpgid,exec,ftp_login,mysql_pconnect,apache_setenv,popen,posix_getpwuid,posix_setsid,passthru,escapeshellcmd,ini_alter,ftp_raw,ftp_nb_fput,ini_restore,shell_exec,ftp_get,proc_get_status,highlight_file,proc_close,proc_terminate,syslog,ftp_connect,posix_uname,ini_get_all,proc_open,posix_kill,escapeshellarg,ftp_rawlist,posix_setuid,openlog,php_uname,system,ftp_exec,posix_mkfifo,proc_nice,ftp_put"
        php_admin_value memory_limit "1024M"
        php_admin_value max_execution_time 120
        #php_admin_value post_max_size 4G
        #php_admin_value upload_max_filesize 4G
    </IfModule>


</Directory>

# </VirtualHost>
openSUSE Build Service is sponsored by